【gitlab-runner/docker部署runner/CICD】
介绍docker-compose 部署方式
docker-compose文件
###runner gitlab-runner: image: gitlab-runner build: context: ./gitlab-runner #image: gitlab/gitlab-runner:latest container_name: gitlab-runner #environment: #- CI_SERVER_URL=${GITLAB_CI_SERVER_URL} #- REGISTRATION_TOKEN=${GITLAB_RUNNER_REGISTRATION_TOKEN} #- RUNNER_NAME=${GITLAB_RUNNER_NAME}-runner #- REGISTER_NON_INTERACTIVE=${GITLAB_REGISTER_NON_INTERACTIVE} #- RUNNER_EXECUTOR=shell volumes: - ./gitlab-runner/deploy/publish.sh:/var/www/gitlab-runner/deploy/publish.sh:rw - ${DATA_PATH_HOST}/gitlab/runner:/etc/gitlab-runner - /var/run/docker.sock:/var/run/docker.sock:rw restart: always
dockerfile文件内容
准备一个shell脚本
#!/bin/bash DEPLOY_PATH=项目地址(docker方式的话就是docker内映射的地址) GIT_URL=ssh://*********/gitlab-instance-3b876bb8/aa.git NOW_BRANCH=dev if [ ! -e $DEPLOY_PATH ];then mkdir -p $DEPLOY_PATH chown -hR gitlab-runner:gitlab-runner $DEPLOY_PATH echo "OK" fi cd $DEPLOY_PATH if [ -d "$DEPLOY_PATH/.git" ];then echo --- Clean Workspace --- git clean -f git reset --hard git remote update origin -p git checkout $NOW_BRANCH echo --- 拉取 $NOW_BRANCH 分支 --- git pull origin $NOW_BRANCH echo --- OK --- else git init git remote add origin $GIT_URL git fetch git remote update origin -p git checkout $NOW_BRANCH echo --- OK --- fi
docker-compose up -d gitlab-runner启动runner
注册runner
gitlab-runner register url和token从gitlab项目中获取 tags要项目yml文件中保持一致 执行方式选择shell
配置git密钥
在docker容器中生成git密钥
项目yml配置示例
stages: - deploy dev_api: stage: deploy tags: - dev-test only: - dev script: - whoami - bash /var/www/gitlab-runner/deploy/publish.sh product_api: stage: deploy tags: - product_api only: - master script: - whoami - bash /var/www/gitlab-runner/deploy/publish.sh
可以发布测试了
上一篇:
IDEA上Java项目控制台中文乱码