Merge pull request #540 from RockChinQ/master #210
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/[email protected] | |
- 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: [email protected] | |
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 | |
cp -r advanced_network/_images .vuepress/dist/advanced_network | |
cp -r appendix/_images .vuepress/dist/appendix | |
cp -r cases/ci/drone/_images .vuepress/dist/cases/ci/drone | |
cp -r cases/os/_images .vuepress/dist/cases/os | |
cp -r cloud/_images .vuepress/dist/cloud | |
cp -r data_management/_images .vuepress/dist/data_management | |
cp -r etcd/_images .vuepress/dist/etcd | |
cp -r image/_images .vuepress/dist/image | |
cp -r install/_images .vuepress/dist/install | |
cp -r introduction/_images .vuepress/dist/introduction | |
cp -r kubernetes/_images .vuepress/dist/kubernetes | |
cp -r underly/_images .vuepress/dist/underly | |
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: [email protected] | |
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: [email protected] | |
# 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}} |