随着时代的微服务架构,自动化发布部署必不可少,本文用.netcore 配置 cicd 在测试环境实现发布部署,本文主要是配置gitlab-runner安装配置及其注意事项
在gitalb-ci.yml 文件中我有用到git 来进行拉取代码到本地服务器上的。
安装地址:https://www.cnblogs.com/wulixia/p/11016684.html
gitlab-ci.yml文件中git拉取完代码后需要把代码进行编译、发布出来,因此需要用到dotnet sdk。
在安装.NET之前,您需要注册Microsoft密钥,注册产品存储库并安装所需的依赖项。这只需要每台机器完成一次。打开命令提示符并运行以下命令:
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
安装.NET SDK,更新可用于安装的产品,然后安装.NET SDK。在命令提示符中,运行以下命令:
sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-3.1.0
安装gitlab-runner的方式很多,有使用gitlab存储库的,以及手动安装,具体的可以参考官方给出的方案,这边我采用手动安装gitlab-runner
下载二进制文件
# Linux x86-64
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
赋予权限:
sudo chmod +x /usr/local/bin/gitlab-runner
创建gitlabCI用户:
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
安装并作为运行服务:
sudo /usr/local/bin/gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo /usr/local/bin/gitlab-runner start
注册runner需要配合我们的gitlab来操作。
gitlab-runner register
然后我们选择一下 此runner 挂钩的 项目。我们选择项目,点击后面的 “Enable”即可。
gitlab已经配置完成了
项目的地址
stages:
- deploy
- images
variables:
groups: wqs
project: test
port: 30002
deploy:
stage: deploy
script:
- cd /.local/bin
- ./deploy $groups $project $port
only:
- master
tags:
- v2
images:
stage: images
script:
- docker build -t $project -f /www/project/$groups/$project/Dockerfile .
- docker stop $project
- docker rm $project
- docker run -d -v /www/project/$groups/$project:/code -p $port:80 --restart=always --name $project $project
- docker image prune -f
- docker cp cert $project:/app
only:
- master
tags:
- v2
注意的是
- cd /.local/bin
- ./deploy $groups $project $port
在服务端创建目录
vim -p /.local/bin
vim /.local/bin/deploy
把代码
if [[ ! -d "/www/gitproject/$1/$2" ]];then
mkdir -p /www/gitproject/$1
cd /www/gitproject/$1
git clone http://root:[email protected]/$1/$2.git
cd $2
dotnet build --configuration Release
docker run -d -p $3:80 --restart=always --name $2 $2
mkdir -p /www/project/$1/$2
dotnet publish -c Release --output /www/project/$1/$2
docker build -t $2 -f /www/project/$1/$2/Dockerfile .
docker run -d -p $3:80 --restart=always --name $2 $2
else
echo "存在"
cd /www/gitproject/$1/$2
git pull origin master
echo "拉取成功!"
fi
cd /www/gitproject/$1/$2
dotnet build --configuration Release
rm -rf /www/project/$1/$2
dotnet publish -c Release --output /www/project/$1/$2
cd /www/project/$1/$2
编辑到vim /.local/bin/deploy 里边去
把 git clone http://root:[email protected]/$1/$2.git 账号、密码、地址换上自己的即可。
gitlab-runner的创建用户可能没有权限,添加下即可
我的www目录
我参考配置文档是
参考文档:https://www.cnblogs.com/guolianyu/p/9709166.html
官方文档:https://docs.gitlab.com/runner/install/linux-repository.html
注册runner:https://docs.gitlab.com/runner/register/index.html
可能出现的问题
1,git版本低了,2文件夹权限不足。
报什么错查一下修复即可。