我之所以这样问,是因为因为找不到与我的案例类似的正在运行的示例。我在AWS EC2机器上拥有了这个自托管的Gitlab(我们称其为“机器1”,我想将自动部署设置为称为“机器2”的AWS EC2远程服务器。
我的Gitlabs安装显示(机器1):
gitlab-ce 10.4.4
gitlab-config-template 10.4.4
gitlab-cookbooks 10.4.4
gitlab-ctl 10.4.4
gitlab-healthcheck
gitlab-monitor
gitlab-pages
gitlab-psql
gitlab-rails
gitlab-scripts
gitlab-selinux
gitlab-shell
gitlab-workhorse
我已按照gitlab的说明在要设置自动部署的项目中的gitlab文档上设置CI和CD。请遵循以下步骤:
1。我已经在gitlabs doc之后创建了运行器,除了(机器2)之外,这里没有太多显示:
url: https://url.to.my.compute.amazonaws.com
Token : token given by gitlab
Executor: shell
Tags: build deploy qa stage
2。我已经创建了.gitlab-ci.yml文件(在根项目中)(即使尝试创建了两个yml文件版本):
yml 2:
stages:
- build
- deploy
build:
stage: build
script: echo "Building the app"
deploy_staging:
stage: deploy
script:
- echo "Deploy to staging server"
yml 1:
#develop stage
deploy:
stage: deploy
before_script:
#generate ssh key
- mkdir -p ~/.ssh
- echo -e "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
script:
- bash .gitlab-deploy.sh
environment:
name: develop
url: https://my.domain.com
when: manual
3。我设置了两个秘密变量
SSH_PRIVATE_KEY和DEPLOY_SERVERS(分别具有秘密密钥和ips)
4。我已经在我的项目的根目录中添加了一个deploy.sh文件
#!/bin/bash
#Get servers list
set -f
string=$DEPLOY_SERVERS
array=(${string//,/ })
#Iterate servers for deploy and pull last commit
for i in "${!array[@]}"do
echo "Deploy project on server ${array[i]}"
ssh ubuntu@${array[i]} "cd /var/www/html/app && git pull origin develop"
done
我的gitlab-runner在这一时刻向我展示了:
gitlab-runner验证
警告:以用户模式运行。
警告:用户模式要求您手动启动构建过程:
警告:$ gitlab-runner run
警告:在系统模式下使用sudo:
警告:$ sudo gitlab-runner ...
以sudo的身份运行,显示我的跑步者:
Verifying runner... is alive runner=
Verifying runner... is alive runner=
Verifying runner... is alive runner=
但是仍然在gitlabs中,ui仍显示“ STUCK”标签,并且作业告诉我“作业卡住了,请检查跑步者”
问题:
这是要遵循的所有步骤吗?
在这种配置下,您是否看到任何我想念的东西(或过程)?
在我的gitlab遥控器中,我具有“主”权限,这是我需要运行跑步者吗?
我现在如何调试(我正在使用gitlab-runner --debug verify)是我所能做的?
预先感谢您的帮助。
答案 0 :(得分:0)
当runner是“ specific”时,阶段需要一个“ tag”,例如:
stages:
- build
- deploy
build:
stage: build
script: echo "Building the app"
deploy_staging:
stage: deploy
script:
- echo "Deploy to staging server"
tags:
- deploy