首页 > 其他分享 >CICD dotnet 自动化部署 jenkins+gitee

CICD dotnet 自动化部署 jenkins+gitee

时间:2023-01-07 15:36:49浏览次数:49  
标签:8080 CICD gitee var dotnet jenkins docker 安装

问题描述:在Centos8系统中,使用docker run时,出现如下报错:
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Error: open /proc/self/uid_map: no such file or directory

解决办法:
1,卸载podman软件(可以使用rpm -qa|grep docker)
yum remove docker
2,下载docker-ce源
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
3,安装docker-ce
yum install docker-ce -y

问题原因分析:
Centos 8使用yum install docker -y时,默认安装的是podman-docker软件

安装完成后,执行命令 docker --version ,输出版本号证明安装成功

Docker version 20.10.22, build 3a2c30b

安装 Jenkins

docker pull jenkins/jenkins

运行jenkins

docker run -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --privileged=true --name myjenkins jenkins/jenkins

参数说明:
 -d 后台运行镜像
 -p 8080:8080 将镜像的8080端口映射到服务器的8080端口。
 -p 50000:50000 将镜像的50000端口映射到服务器的50000端口
 -v /var/jenkins_mount:/var/jenkins_mount /var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,类似于MVVM,双向绑定,方便在外部操作文件
 -v /etc/localtime:/etc/localtime让容器使用和服务器同样的时间设置
 –name myjenkins 给容器起一个别名

运行结果

登录配置jenkins 需要的组件

 访问8080端口,显示需要管理员密码

查看镜像日志

docker logs 容器id

拷贝密码登录jenkins

手动安装插件

配置镜像加速

修改/var/jenkins_mount/hudson.model.UpdateCenter.xml里的内容

vi /var/jenkins_mount/hudson.model.UpdateCenter.xml

将 url 修改为 清华大学官方镜像:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

更改密码

找到选项中的Password

回到主界面 安装插件

安装中文插件 chinese

安装gitee

安装ssh插件 publish over ssh

重启jenkins 服务

docker restart 容器id

对接gitee

生成私人令牌

左边找到私人令牌

点击生成私人令牌

复制令牌

回到jenkins 面板 修改系统配置

添加gitee配置

配置令牌

选择令牌并测试

配置ssh

补充ssh信息

补充密码

测试ssh

gitee 准备一个项目

新建一个自由风格的软件项目

配置构建需要的参数

若出现操作过程中出现下图问题,并且Gitee信息填写正确,原因可能是项目需要开源才能访问到

添加用户凭证

配置webhook

gitee配置webhook

点击生成Gitee WebHook 密码

粘贴到WebHook 密码/签名密钥文本框中

验证Jenkins是否能拉取提交的内容

成功拉同步了Gitee的更改,接下来只需要把每次同步过来的代码发布即可

下载.Net6 运行时(由于我之前安装过,所以直接显示100%)

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

sudo yum install dotnet-sdk-7.0

配置ssh构建实现自动拉取并部署项目

选择增加构建步骤

编写shell脚本(用的supervisor 守护进程)

echo------------stopapp------------------
supervisorctl stop webjen
echo------------publish------------------
cd /app/webjen
dotnet publish -c Release -o /pub/webjen
echo------------delcode------------------
cd /app/webjen
rm -rf *
echo------------online------------------

supervisorctl start webjen

编辑完内容之后,保存

立即构建,看看是否拉取并发布了

看明细

 

标签:8080,CICD,gitee,var,dotnet,jenkins,docker,安装
From: https://www.cnblogs.com/elsons/p/17032716.html

相关文章