mirror of
https://github.com/yeasy/docker_practice.git
synced 2024-12-27 23:46:19 +00:00
158 lines
6.0 KiB
Go
158 lines
6.0 KiB
Go
on:
|
|
push:
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
name: CI
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash --noprofile --norc -exo pipefail {0}
|
|
|
|
jobs:
|
|
build:
|
|
name: Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
with:
|
|
fetch-depth: 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: Build with VuePress
|
|
run: |
|
|
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' {} \;
|
|
|
|
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: 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}}
|