所以,我在Enterprise Edition上运行GitLab CI来构建我的项目,然后成功部署。
我有两个问题:
1.我不能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
作业失败并返回以下内容:
主机密钥验证失败。
致命:无法从远程存储库中读取。
请确保您拥有正确的访问权限和存储库 存在。
答案 0 :(得分:1)
像
JobDeployToProd:
stage: Deploy
script: your commands
tags:
- Deploy
allow_failure: false
when : on_success
dependency: JobBuildVerify