一般gitlab一台服务器、gitlabrunner一台服务器、应用一台服务器,此处为了简单讲gitlabrunner跟应用部署至一台,均使用centos 7.6。
网上有教程,不多说,我使用的公司gitlab
在runner服务器执行以下命令
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
在runner服务器执行以下命令
gitlab-ci-multi-runner register
安装提示输入git服务器地址及项目token
注意记录tag,将通过此信息区分runner
executor本次使用shell模式,比较简单
1.建立测试项目
2.gitlabrunner服务器安装dotnet sdk 3
3.创建站点目录,eg:/website/t1
4.使用python Supervisord做守护程序
5.测试站点可以正常访问
stages:
- build
cir-build:
stage: build
tags:
- CIRNewtag ##创建runner时的tag
script:
- dotnet restore
- dotnet publish CIRNew.csproj --no-restore -o /tmp/cirnew ##将项目发布至cirnew临时文件夹
- cp -r /tmp/cirnew/. /website/t1/ ##拷贝最新文件至站点目录
- supervisorctl restart cirnewserver ##重启站点
gitlab-runner一般以本账户执行script,所以在执行复制、重启服务时会提示无权限。简单粗暴的方式就是修改runner为root身份,方式如下:
##删除gitlab-runner
sudo gitlab-runner uninstall
##安装并设置--user
gitlab-runner install --working-directory /home/gitlab-runner --user root
##重启gitlab-runner
sudo service gitlab-runner restart