时间:2021-05-20
目的:实现把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 jenkins2、配置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 "存在-停止运行 然后删除---------------------完成------------------" fidoneecho "获取当前镜像是否存在-----------------------------------------------------------------"dockerlist=$(docker images resapiimage:latest -q)for alpha2 in "$dockerlist";do if [ "$alpha2" == "" ];then echo "不存在指定镜像-------------------------------------------------" else echo "存在当前指定的镜像 删除镜像--------------开始-----------------------------------" docker rmi $alpha2 echo "存在当前指定的镜像 删除镜像--------------完成-----------------------------------" fidoneecho "开始输入工作目录-----------------------------------------------------------------"echo $WORKSPACEecho "转到项目工程目录-----------------------------------------------------------------"cd $WORKSPACE/AoJi.Res/echo "重新生成------------------------------------开始-----------------------------"dotnet buildecho "重新生成------------------------------------完成-----------------------------"echo "项目发布-------------------------------------开始----------------------------"dotnet publish --output /data//echo "构建Docker镜像-------------------------------开始----------------------------------"echo pwddocker build -t resapiimage .echo "构建Docker镜像-------------------------------完成----------------------------------"echo "运行Docker容器-------------------------------------开始----------------------------"docker run --name=resapi -p 5001:5001 -d resapiimageecho "运行Docker容器------------------------------------完成-----------------------------"以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
写在前面初步接触持续集成自动化过程,本篇主要介绍基于Jenkins实现持续集成的方式,通过案例介绍线上自动编译及部署的配置过程持续集成持续集成是一种软件开发实践
在Ubuntu16.04LTS服务器部署Jenkins本文讲述怎样在Ubuntu16.04LTS服务器上部署Jenkins环境。Jenkins是基于Java语言
前言本章主要讲述Windows环境下的Jenkins的自动化部署关于JenKins下载的方式有两种,1)直接下载war包,用tomcat/java命令运行2)m
最近在写.NetCore的API,由于之前没接触过Core,所以自己的想法很简单,感觉和.Net都是差不多的东西,发布部署还是按.Net的那一套来,可谓是困难重
本文主要讲解利用Jenkins实现springboot项目的自动化部署:•1.后台技术架构:Springboot1.4.2.RELEASE+Myba