2021-07-08

使用gitlab自带的ci/cd实现.net core应用程序的部署

这两天在折腾持续集成和交付,公司考虑使用gitlab自带的ci/cd来处理,特此记下来整个流程步骤.

好记性不如一支烂笔头---尼古拉斯-古人言

第一步: 安装gitlab,这个自然不用多说

第二步: 使用docker容器安装gitlab-runner组件

新建一个docker-compose.yml文件,内容如下,在linux系统下使用 docker-compose up -d 命令跑起来就好(如果不会,可度娘搜索安装和使用)

 1 version: "3.3" 2 services: 3 gitlab-runner: 4  image: gitlab/gitlab-runner:latest 5  container_name: gitlab-runner 6  #总是重启后启动 7  restart: always 8  privileged: true 9  volumes: 10  - ./config:/etc/gitlab-runner11  - /var/run/docker.sock:/var/run/docker.sock12  - /bin/docker:/bin/docker13  networks:14  - gitlab_runner_net 15 16 networks:17  gitlab_runner_net:18  driver: bridge

第三步: 安装完之后,需要将安装好的gitlab-runner注册到gitlab中去,这里我们就需要用到如下图中红色框框内的token令牌

 

 

 1.进入容器内部

 1 docker exec -it 96d4d3170eaf /bin/bash 

2.开启注册

 1 gitlab-runner register 

3.输入上面的命令后根据提示输入指定信息

 1 Enter the GitLab instance URL (for example, https://gitlab.com/): 2 #gitlab的地址 3 Enter the registration token:  4 XLccjJJ_mDkNRyzdyXsY #上面图片中的token,这样允许gitlab-runner免密连接gitlab 5 Enter a description for the runner:  6 [96d4d3170eaf]: signbox-service-message shell #这里输入备注信息,可留空 7 Enter tags for the runner (comma-separated): 8 deploy,master,dev #这里输入标签,最好是和git分支中tag的对应起来 9 Registering runner... succeeded      runner=XLccjJJ_10 Enter an executor: docker-ssh, shell, virtualbox, docker-ssh+machine, kubernetes, custom, docker, parallels, ssh, docker+machine:11 shell #这里直接输入shell就好12 Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

完成注册后,在gitlab中就能看到注册的gitlab-runner信息了,如下图

 

 

 第四步: 添加gitlab-runner账号授权

1.添加一个 gitlab-runner 用户(一般这个用户是不存在的)

 1 sudo adduser gitlab-runner 

2.将gitlab-runner用户添加到docker组内

 1 sudo gpasswd -a gitlab-runner docker 

3.查看docker组中是否已经成功(如果出现:docker:x:973:root,gitlab-runner则成功)

 1 cat /etc/group |grep docker 

4.重启docker容器服务

 1 sudo systemctl restart docker 

5.给docker.sock设置权限

 1 sudo chmod a+rw /var/run/docker.sock 

 

第五步: 在项目根目录下创建文件名为 .gitlab-ci.yml 的文件,此文件是用来构建打包部署的

 1 stages: 2 - build 3 - deploy 4  5 build: 6  stage: build 7  script: 8  - cd ./ 9  - docker build -f "./src/Test.Web/Dockerfile" --force-rm -t image-test --label "com.microsoft.created-by=visual-studio" --label "com.microsoft.visual-studio.project-name=Test.Web" "./"10  only:11  - master12 13 deploy:14  stage: deploy15  script:16  - cd ./17  - dock......

原文转载:http://www.shaoqun.com/a/857299.html

跨境电商:https://www.ikjzd.com/

trademanager:https://www.ikjzd.com/w/730

好卖家:https://www.ikjzd.com/w/776

周宁:https://www.ikjzd.com/w/1647


这两天在折腾持续集成和交付,公司考虑使用gitlab自带的ci/cd来处理,特此记下来整个流程步骤.好记性不如一支烂笔头---尼古拉斯-古人言第一步:安装gitlab,这个自然不用多说第二步:使用docker容器安装gitlab-runner组件新建一个docker-compose.yml文件,内容如下,在linux系统下使用docker-composeup-d命令跑起来就好(如果不会,可度娘搜索
outfit:https://www.ikjzd.com/w/938
麦言:https://www.ikjzd.com/w/1456
思考|为什么亚马逊广告竞价越低转化就越差?:https://www.ikjzd.com/articles/116971
新冠病毒源于美国?"专家"到底错哪了?:https://www.ikjzd.com/articles/116972
受新冠疫情影响,多国家发布最新规定......:https://www.ikjzd.com/articles/116973
预测|盘点2020年跨境电商四大发展趋势:https://www.ikjzd.com/articles/116974
强壮的公么征服我厨房 公又粗又长又大又深好爽:http://lady.shaoqun.com/m/a/247959.html
女班长扒开内裤让我们摸 我把女班长按到课桌上做:http://lady.shaoqun.com/m/a/247579.html
深圳故宫里的神兽世界展览开放时间是什么时候:http://www.30bags.com/a/482636.html
深圳野生动物园晚上看得清吗:http://www.30bags.com/a/482637.html
风格各异的年轻女子:http://lady.shaoqun.com/a/409896.html
小说:一个依然有魅力的年轻女子:http://lady.shaoqun.com/a/409897.html

No comments:

Post a Comment