Skip to content

Instantly share code, notes, and snippets.

@roc26002w
Created October 26, 2016 13:11
Show Gist options
  • Save roc26002w/5b0c48c14854795739769c69f9277253 to your computer and use it in GitHub Desktop.
Save roc26002w/5b0c48c14854795739769c69f9277253 to your computer and use it in GitHub Desktop.
# pipeline 中可以有多個 stages
stages:
- build
- deploy-dev
# 每個 stages 可以有多個 Job
# Job Name = ComposerAndArchive
ComposerAndArchive:
# 在哪個 docker image 上執行自動化腳本
image: ci/composer:php7
# 此 Job 屬於哪個 stage
stage: build
# 自動化腳本
script:
# check env
- env
- ls
- composer install
- ls vendor
- export CI_COMMIT=$(echo $CI_BUILD_REF | cut -b 1-6)
- echo "$CI_COMMIT"
- cd ..
- tar -zc "$CI_PROJECT_NAME"/ -f "$CI_PROJECT_NAME"-"$CI_BUILD_REF_NAME"-"$CI_COMMIT".tar.gz
- ls
- mv "$CI_PROJECT_NAME"-"$CI_BUILD_REF_NAME"-"$CI_COMMIT".tar.gz "$CI_PROJECT_NAME"/
artifacts:
paths:
- $CI_PROJECT_NAME-$CI_BUILD_REF_NAME-$(echo $CI_BUILD_REF | cut -b 1-6).tar.gz
variables:
dev_server_ip: "172.17.0.7"
CODE_PATH: "/builds/root/"
deploy:
image: ci/ansible:dev
stage: deploy-dev
script:
- export CI_COMMIT=$(echo $CI_BUILD_REF | cut -b 1-6)
- export TAR_FILENAME="$CI_PROJECT_NAME"-"$CI_BUILD_REF_NAME"-"$CI_COMMIT".tar.gz
- echo "dev ansible_host=$dev_server_ip" > /etc/ansible/hosts
- cat /etc/ansible/hosts
- ansible-playbook ansible-deploy.yml -e MYHOST=dev -e TAR_FILENAME=$TAR_FILENAME -e CODE_PATH=$CODE_PATH -e CI_PROJECT_NAME=$CI_PROJECT_NAME
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment