Jenkins自动部署Net Core过程图解

网友投稿 571 2023-03-04

Jenkins自动部署Net Core过程图解

Jenkins自动部署Net Core过程图解

目的:实现把Git测试分支中的代码发布到linux测试环境

1、安装Jenkins。

首先需要找一台服务器安装Jenkins,我用的是Linux。启动后直接用IP+端口号访问就可以看到启动动的Jenkisn.

Tips:关于Jenkins的配置,为了方便我是用Linux的root用户登录的,具体配请自行更改。

#安装java环境(Jenkins需要这个java环境)

sudo yum install java

java -version

# 安装Git

sudo yum install git

git --version

#安装Jenkins

sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo

sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

yum install jenkins

#修改jenkins 的配置信息

vi /etc/sysconfig/jenkins

#修改配置

JENKINS_USER="root"

JENKINS_PORT:"8080"

#修改目录权限

[root@localhost sysconfig]# chown -R root:root /var/lib/jenkins

[root@localhost sysconfig]# chown -R root:root /var/cache/jenkins

[root@localhost sysconfig]# chown -R root:root /var/log/jenkins

#启动Jenkins

systemctl start jenkins

2、配置Jenkins

实现目的:当前的Jenkins 是安装在192.168.11.80上,需要Jenkins把Git 上拉取的代码发布到 192.168.0.138上。此时138上已经配置好了supervisorctl。也就是说Jenkisn和web服务器没在一个服务器上。

(1)Jenkins安装远程插件(Publish Over SSH) 系统管理->插件管理

(2)配置远程服务器链接(此处用的是密码用户用的rooot)系统管理->系统配置

3、新建一个Jenkins任务(或复制一个已有的任务)

(1)配置Git

构建就可以了

如你的web服务器是用docker发布的,Jenkins的执行Shell,你可以参考一下

echo "获取当前容器是否存在-----------------------------------------------------------------"

containerps=$(docker ps -f name=resapi -q)

containerstop=$(docker ps -a -f name=resapi -q)

for alpha in "$containerps";do

if [ "$alpha" == "" ];then

echo "检查是否存在停止的容器-------------------------------------------------"

for alpha1 in "$containerstop";do

if [ "$alpha1" == "" ];then

echo "不存指定容器-----------------------------------"

else

echo "存在停止了的 然后直接删除-----------开始------------------"

docker rm $alpha1

echo "存在停止了的 然后直接删除-----------完成------------------"

fi

done

else

echo "存在-停止运行 然后删除----------------------开始-----------------"

docker stop $alpha

docker rm $alpha

echo "存在-停止运行 然后删除---------------------完成------------------"

fi

done

echo "获取当前镜像是否存在-----------------------------------------------------------------"

dockerlist=$(docker images resapiimage:latest -q)

for alpha2 in "$dockerlist";do

if [ "$alpha2" == "" ];then

echo "不存在指定镜像-------------------------------------------------"

else

echo "存在当前指定的镜像 删除镜像--------------开始-----------------------------------"

docker rmi $alpha2

echo "存在当前指定的镜像 删除镜像--------------完成-----------------------------------"

fi

done

echo "开始输入工作目录-----------------------------------------------------------------"

echo $WORKSPACE

echo "转到项目工程目录-----------------------------------------------------------------"

cd $WORKSPACE/AoJi.Res/

echo "重新生成------------------------------------开始-----------------------------"

dotnet build

echo "重新生成------------------------------------完成-----------------------------"

echo "项目发布-------------------------------------开始----------------------------"

dotnet publish --output /data/www/resapi.aojiedu.com/

echo "项目发布-------------------------------------完成----------------------------"

echo "转到项目发布目录-----------------------------------------------------------------"

cd /data/www/resapi.aojiedu.com/

echo "构建Docker镜像-------------------------------开始----------------------------------"

echo pwd

docker build -t resapiimage .

echo "构建Docker镜像-------------------------------完成----------------------------------"

echo "运行Docker容器-------------------------------------开始----------------------------"

docker run --name=resapi -p 5001:5001 -d resapiimage

echo "运行Docker容器------------------------------------完成-----------------------------"

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:应用程序小插件没有了(应用插件在哪里找)
下一篇:为啥电脑不能打开小程序(为什么电脑无法打开微信小程序)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~