当前位置 : 主页 > 网络编程 > 其它编程 >

GitlabRunner实现CI/CD自动化部署asp.netcore应用

来源:互联网 收集:自由互联 发布时间:2023-07-02
环境说明一台git服务器(192.168.169.7),安装gitlab,docker。一台web服务器(192.168.169.6),安装git,gitlabrunner,do   环境说明 一台git服务器(192.168.169.7),安装gitlab,docker。 一台web服务器
环境说明一台git服务器(192.168.169.7),安装gitlab,docker。一台web服务器(192.168.169.6),安装git,gitlabrunner,do

 

环境说明

  一台git服务器(192.168.169.7),安装gitlab,docker。

  一台web服务器(192.168.169.6),安装git,gitlab runner,docker,dotnet sdk。

   为了方便讲述,给两台服务器取个别名吧,7酱和6酱????

 

git服务器准备

安装gitlab

   gitlab提供多种安装方式,7酱是Ubuntu系统????,虽然docker方式简直不要太简单,但是还是记录一下Ubuntu下普通方式安装gitlab。

  安装依赖项

sudo apt-get install -y curl openssh-server ca-certificates

  使用postfix来发邮件通知

sudo apt-get install -y postfix

  安装gitlab包

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

  安装

sudo EXTERNAL_URL="http://gitlab.example.com" apt-get install gitlab-ce

  虽然有域名,但是懒得配置,url就填写ip,比如http://192.168.169.7:8092,安装之后第一次访问这个地址的用户就是管理员账号了。

邮件配置,注意配置的邮箱要开启smtp

 

安装docker

  如果有旧版本,先卸载

sudo apt-get remove docker docker-engine docker.io

  一些前提设置

sudo apt-get updatesudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"

  开始安装docker

sudo apt-get updatesudo apt-get install docker-ce

  如果要安装指定版本的,可以先查一下有哪些特定版本,然后再安装指定的版本

apt-cache madison docker-cesudo apt-get install docker-ce=5:19.03.1~3-0~ubuntu-bionic docker-cd-cli=5:19.03.1~3-0~ubuntu-bionic containerd.io

  设置自动启动docker

systemctl enable dockersystemctl start docker

  如果不是root用户,添加当前用户到docker用户组

sudo usermod -aG docker $USER

  [可选项],设置国内镜像,通过修改docker配置文件,添加register-mirrors键值。如果没有daemon.json文件,请新增。

sudo vi /etc/docker/daemon.json{ "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn","https://cr.console.aliyun.com" ]}

  重启docker

sudo service docker restart

  hello world from docker

docker run --rm hello-world

 

web服务器准备

  6酱是CentOS????

安装git

sudo yum install -y git

配置git账号

  过程:略

安装gitlab runner

  首先在gitlab仓库的设置中找到Runners选项,可以看到设置runner的步骤。

Gitlab Runner实现CI/CD自动化部署asp.net core应用

  安装gitlab-runner。这里以二进制文件方式安装,其他安装方式自行选择。

sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64sudo chmod +x /usr/local/bin/gitlab-runnersudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bashsudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runnersudo gitlab-runner start

  注册gitlab runner,按照提示,一步一步填写。

sudo gitlab-runner register

Gitlab Runner实现CI/CD自动化部署asp.net core应用

   提示注册成功,然后在项目仓库runners这里可以看到刚刚激活的runner。

Gitlab Runner实现CI/CD自动化部署asp.net core应用

  点击可以查看runner详情,最好将【Can run untagged jobs】改为【Yes】,否则提交代码的时候只有tag才会触发构建任务。

Gitlab Runner实现CI/CD自动化部署asp.net core应用

 

 

 安装dotnet sdk

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpmsudo yum install dotnet-sdk-3.0

 

准备aspnetcore项目

  在项目根目录添加.gitlab-ci.yml文件,Dockerfile在项目目录中。

stages: - deploydeploy_job: stage: deploy only: - master script: - cd /home/gitproject - rm -rf /home/gitproject/gitlabrunner - git clone git@192.168.169.7:rookies/gitlabrunner.git - cd ./gitlabrunner - dotnet build --configuration Release - rm -rf /home/dockerproject/gitlabrunner - docker kill gitlabci - docker rm gitlabci - docker rmi gitlabrunnerimage - dotnet publish -c Release --output /home/dockerproject/gitlabrunner - cd /home/dockerproject/gitlabrunner - docker build -t gitlabrunnerimage . - docker run -d -v /home/dockerproject/gitlabrunner:/app -p 3126:3126 --name gitlabci --restart always gitlabrunnerimage

 

Gitlab Runner实现CI/CD自动化部署asp.net core应用

  pipeline任务构建过程

Gitlab Runner实现CI/CD自动化部署asp.net core应用

  本次由于网络原因,构建失败,但是通过此番操作,可以实现利用gitlab runner来达到CI/CD的目的。

 

网友评论