CI将分支推送到远程部署
所以,我在Enterprise Edition上运行GitLab CI来构建我的项目,然后部署成功。
我有两个问题:1.我无法git push
我的分支git push
送到安全的SSH远程。 2.我如何强制它仅部署在成功的构建中?
这是我目前的配置:
stages:
- build
- deploy
services:
- mysql:latest
variables:
MYSQL_DATABASE: el_duderino
MYSQL_ROOT_PASSWORD: mysql_strong_password
node:
image: monostream/nodejs-gulp-bower
stage: build
script:
- npm install
- bower install --allow-root
- gulp
migrations:
image: eboraas/laravel
stage: build
script:
- composer install
- cp .env.testing .env
- php artisan key:generate
- php artisan migrate --force
- echo "Done!"
deploy_test:
stage: deploy
script:
- echo "Deploy to test server."
- git remote set-url test ssh://git@10.16.0.148/var/repo/subPortalTest.git
- git push test master
environment:
name: Test
url: http://10.16.0.148/
only:
- master
我的deploy_test
作业失败并返回以下内容:
主机密钥验证失败。
致命:无法从远程存储库读取。
请确保您拥有正确的访问权限并存在存储库。
答:可以使用dependency和on_success yaml命令,当构建验证作业成功时,部署作业将根据它的依赖性执行。
并且使用on_success命令,以便以前的作业将成功执行,然后将启动此作业。
喜欢
JobDeployToProd:
stage: Deploy
script: your commands
tags:
- Deploy
allow_failure: false
when : on_success
dependency: JobBuildVerify
链接地址: http://www.djcxy.com/p/85113.html