mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 04:14:38 +00:00
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 6.0.2. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4.1.1...v6.0.2) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
155 lines
5.9 KiB
Go
155 lines
5.9 KiB
Go
name: CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash --noprofile --norc -exo pipefail {0}
|
|
|
|
jobs:
|
|
build:
|
|
name: Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v6.0.2
|
|
- name: Build Gitbook
|
|
uses: docker://yeasy/docker_practice
|
|
with:
|
|
args: build
|
|
- name: Build Gitbook Docker Image
|
|
if: github.repository == 'docker-practice/docker_practice'
|
|
run: |
|
|
sudo chmod -R 777 _book
|
|
echo "FROM nginx:alpine" >> Dockerfile
|
|
echo "COPY _book /usr/share/nginx/html" >> Dockerfile
|
|
echo "COPY .docker/docker-entrypoint.sh /" >> Dockerfile
|
|
echo "ENTRYPOINT [\"/docker-entrypoint.sh\"]" >> Dockerfile
|
|
|
|
export VCS_REF=`git rev-parse --short HEAD`
|
|
|
|
docker build \
|
|
-t dockerpracticesig/docker_practice \
|
|
-t dockerpracticesig/docker_practice:gitbook \
|
|
--label org.opencontainers.image.revision=$VCS_REF \
|
|
--label org.opencontainers.image.source="https://github.com/yeasy/docker_practice" \
|
|
--label maintainer="https://github.com/docker-practice" \
|
|
.
|
|
|
|
docker run -d --rm -p 4000:80 dockerpracticesig/docker_practice
|
|
|
|
sleep 5
|
|
|
|
echo "::group::Test"
|
|
curl 127.0.0.1:4000
|
|
echo "::endgroup::"
|
|
|
|
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
|
docker push dockerpracticesig/docker_practice
|
|
docker push dockerpracticesig/docker_practice:gitbook
|
|
env:
|
|
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
|
|
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}}
|
|
- name: Upload Gitbook dist
|
|
uses: docker://pcit/pages
|
|
if: github.repository == 'docker-practice/docker_practice'
|
|
env:
|
|
PCIT_EMAIL: khs1994@khs1994.com
|
|
PCIT_GIT_TOKEN: ${{ secrets.PCIT_GIT_TOKEN }}
|
|
PCIT_GIT_URL: github.com/docker-practice/zh-cn
|
|
PCIT_KEEP_HISTORY: "true"
|
|
PCIT_LOCAL_DIR: _book
|
|
PCIT_MESSAGE: Build from yeasy/docker_practice@${{github.sha}}
|
|
PCIT_TARGET_BRANCH: master
|
|
PCIT_USERNAME: khs1994
|
|
- name: vuepress
|
|
run: |
|
|
export NODE_OPTIONS=--openssl-legacy-provider
|
|
sudo rm -rf _book
|
|
npm i
|
|
|
|
git clone https://github.com/docker-practice/.vuepress .vuepress2
|
|
cp -r .vuepress2/. .vuepress/
|
|
rm -rf .vuepress2
|
|
find . \( -path "./mesos" -o -path "./swarm_mode" -o -path "./node_modules" -o -path "./.vuepress" -o -path "./_book" -o -path "./CHANGELOG.md" -o -path "./CONTRIBUTING.md" \) -prune -o -name "*.md" -exec sed -i 'N;2a\<AdSenseTitle/>\n' {} \;
|
|
|
|
npx vuepress --version
|
|
|
|
npm run vuepress:build
|
|
echo "vuepress.mirror.docker-practice.com" > .vuepress/dist/CNAME
|
|
|
|
cp -r _images .vuepress/dist
|
|
mkdir -p .vuepress/dist/appendix
|
|
cp -r appendix/_images .vuepress/dist/appendix
|
|
mkdir -p .vuepress/dist/cloud
|
|
cp -r 16_cloud/_images .vuepress/dist/cloud
|
|
mkdir -p .vuepress/dist/data_management
|
|
cp -r 08_data/_images .vuepress/dist/data_management
|
|
mkdir -p .vuepress/dist/etcd
|
|
cp -r 15_etcd/_images .vuepress/dist/etcd
|
|
mkdir -p .vuepress/dist/kubernetes
|
|
cp -r 13_kubernetes_concepts/_images .vuepress/dist/kubernetes
|
|
|
|
echo "include: [_images]" > .vuepress/dist/_config.yml
|
|
- name: Upload Vuepress dist
|
|
uses: docker://pcit/pages
|
|
if: github.repository == 'docker-practice/docker_practice'
|
|
env:
|
|
PCIT_EMAIL: khs1994@khs1994.com
|
|
PCIT_GIT_TOKEN: ${{ secrets.PCIT_GIT_TOKEN }}
|
|
PCIT_GIT_URL: github.com/docker-practice/vuepress
|
|
PCIT_KEEP_HISTORY: "true"
|
|
PCIT_LOCAL_DIR: .vuepress/dist
|
|
PCIT_MESSAGE: Build from yeasy/docker_practice@${{github.sha}}
|
|
PCIT_TARGET_BRANCH: master
|
|
PCIT_USERNAME: khs1994
|
|
# - name: Set coding.net CNAME
|
|
# run: |
|
|
# echo "vuepress.mirror.docker-practice.com" > .vuepress/dist/CNAME
|
|
# - name: Upload Vuepress dist to coding.net
|
|
# uses: docker://pcit/pages
|
|
# if: github.repository == 'docker-practice/docker_practice'
|
|
# env:
|
|
# PCIT_EMAIL: khs1994@khs1994.com
|
|
# PCIT_GIT_TOKEN: ${{ secrets.CODING_GIT_TOKEN }}
|
|
# PCIT_GIT_URL: e.coding.net/dpsigs/docker_practice
|
|
# PCIT_KEEP_HISTORY: "true"
|
|
# PCIT_LOCAL_DIR: .vuepress/dist
|
|
# PCIT_MESSAGE: Build from yeasy/docker_practice@${{github.sha}}
|
|
# PCIT_TARGET_BRANCH: master
|
|
# PCIT_USERNAME: ptt0xjqzbke3
|
|
- name: Build vuepress docker image
|
|
if: github.repository == 'docker-practice/docker_practice'
|
|
run: |
|
|
sudo rm -rf .vuepress/dist/.git
|
|
|
|
echo "FROM nginx:alpine" > Dockerfile
|
|
echo "COPY .vuepress/dist /usr/share/nginx/html" >> Dockerfile
|
|
echo "COPY .docker/docker-entrypoint.sh /" >> Dockerfile
|
|
echo "ENTRYPOINT [\"/docker-entrypoint.sh\"]" >> Dockerfile
|
|
|
|
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
|
|
|
VCS_REF=`git rev-parse --short HEAD`
|
|
|
|
docker build -t dockerpracticesig/docker_practice:vuepress \
|
|
--label org.opencontainers.image.revision=$VCS_REF \
|
|
--label org.opencontainers.image.source="https://github.com/yeasy/docker_practice" \
|
|
--label maintainer="https://github.com/docker-practice" \
|
|
.
|
|
|
|
docker push dockerpracticesig/docker_practice:vuepress
|
|
|
|
docker run -it --rm -d -p 4001:80 dockerpracticesig/docker_practice:vuepress
|
|
|
|
sleep 5
|
|
|
|
echo "::group::Test"
|
|
curl 127.0.0.1:4001
|
|
echo "::endgroup::"
|
|
env:
|
|
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
|
|
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}}
|