jenkins安装部署(代码片段)

momoyan momoyan     2023-03-22     420

关键词:

前期准备:

下载jdk,下载tomcat

1.安装Git

2.安装maven

3.安装Jenkins

在你的本地电脑或者linux服务器上下载安装jenkins:

jenkins下载地址:https://jenkins.io/  

下载完后把它部署到你的tomcat上运行:放到tomcat的webapps目录下,启动tomcat(windows下双击startup.bat或者linux下运行sh startup.sh),然后通过浏览器访问,如我的电脑上访问:localhost:8080/jenkins 。启动后的界面如下:
技术图片

 

 

然后到提示的文件中把里面的文本复制出来填到管理员密码中。

接着如果是在本地电脑跑,可能会出现:该jenkins实例似乎已离线 提示,如果出现,是因为本地https访问不了的原因。在浏览器中另打开一个界面http://localhost:8080/pluginManager/advanced,把升级站点中的url中的https改为http,保存更新。然后关掉tomcat服务器重启,就可以联网了。

        接下来选择安装推荐的插件,这个需要一定的时间。最后额外推荐安装两个插件,在系统管理中可以安装插件:

1、 Rebuilder

2、 Safe Restart

二、在linux服务器中安装git, maven,创建一个jenkens目录,配置git的公钥到你的github上。

这些步骤是使用jenkins的前提。

1.安装git的目的是在自动化部署前实时从git远程仓库中拉取最新的代码。在linux(我用的是centos系统)安装git

yum install git

生成密钥:ssh-keygen -t rsa -C "youremail@abc.com"

可以不设置密钥密码直接按三次回车。 把家目录中生成的公钥内容复制到github或其他仓库上

2.安装maven的目的是通过项目中的pom.xml文件自动解决项目依赖问题,构建项目。linux中通过wget+下载链接下载maven的zip包然后解压即可。

wget XXX

1)配置maven环境变量:

echo "export MAVEN_HOME=/root/maven3.4.5" >> etc/profile

echo "export PATH=$MAVEN_HOME/bin:$PATH" >> etc/profile

. /etc/profile

    创建jenkins目录,用来存储拉取下来的项目代码等。

mkdir -p /root/jenkins/

三、将Linux服务器注册到Jenkins上

1、开启服务器上的ssh服务,可通过 netstat -anp | grep :22命令查看是否开启

2、先来测试一下怎么在jenkins中操作远程服务器

在jenkins中选择系统管理——》新建节点

技术图片

 

 

其中远程工作目录即你在Linux上创建的jenkins目录。在Credentials添加一个远程用户,输入你的远程机器用户名和密码保存。

技术图片

点击TestEnv,启动代理。

在全局工具配置中配置git命令:

技术图片

 

 

 

 3、自动化部署过程原理:

技术图片

 

所以需要编写一个shell脚本来执行这个过程。

具体的创建Jenkins任务的过程为

1.创建jenkins任务

2.填写Server信息

3.配置git参数

4.填写构建语句(shell脚本),实现自动部署。

四、创建自动化部署任务

1、编写shell部署脚本deploy.sh,并放到linux服务器中的jenkins目录下,在该目录下通过touch deploy.sh创建一个脚本,把下面的脚本复制到里面即可(到时每次自动部署都会执行它),脚本中的my-scrum为我要自动构建的项目名:

#!/usr/bin/env bash
#编译+部署项目站点
 
#需要配置如下参数
# 项目路径, 在Execute Shell中配置项目路径, pwd 就可以获得该项目路径
# export PROJ_PATH=这个jenkins任务在部署机器上的路径
 
# 输入你的环境上tomcat的全路径
# export TOMCAT_APP_PATH=tomcat在部署机器上的路径
 
### base 函数
killTomcat()

    #pid=`ps -ef|grep tomcat|grep java|awk ‘print $2‘`
    #echo "tomcat Id list :$pid"
    #if [ "$pid" = "" ]
    #then
    #  echo "no tomcat pid alive"
    #else
    #  kill -9 $pid
    #fi
    #上面注释的或者下面的
    cd $TOMCAT_APP_PATH/bin
    sh shutdown.sh

cd $PROJ_PATH/my-scrum
mvn clean install
 
# 停tomcat
killTomcat
 
# 删除原有工程
rm -rf $TOMCAT_APP_PATH/webapps/ROOT
rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
rm -f $TOMCAT_APP_PATH/webapps/my-scrum.war
 
# 复制新的工程到tomcat上
cp $PROJ_PATH/scrum/target/order.war $TOMCAT_APP_PATH/webapps/
 
cd $TOMCAT_APP_PATH/webapps/
mv my-scrum.war ROOT.war
 
# 启动Tomcat
cd $TOMCAT_APP_PATH/
sh bin/startup.sh

2、在jenkins上点击新建一个任务,填好任务名,填写运行的节点(上文中新建节点时创建的):

技术图片

 

 3、点击源码管理,填写github(或gitlab等)地址:

技术图片

4、点击add,选择check out to a sub-directory ,添加源码下载到jenkins目录下的指定目录(可以命名为你的项目名):

技术图片

 

  5、填写构建任务时的shell脚本,然后保存,点击立即构建完成自动构建。(这里有一个坑,一定要给tomcat下所有sh文件加上x权限才能启动tomcat成功,具体为在tomcat目录上层执行chmod a+x  -R tomcat目录或者在tomcat的bin目录下执行chmod +x *.sh)

#当jenkins进程结束后新开的tomcat进程不被杀死
BUILD_ID=DONTKILLME
#加载变量
. /etc/profile
#配置运行参数
 
#PROJ_PATH为设置的jenkins目录的执行任务目录
export PROJ_PATH=`pwd`
#配置tomcat所在目录
export TOMCAT_APP_PATH=/root/tomcats/tomcat-my-scrum
 
#执行写好的自动化部署脚本
sh /root/jenkins/deploy.sh

技术图片

 

 6、自动化构建成功:

技术图片

 

 

7、后续代码如果有改动,只要push到github或者gitlab等上,在jenkins界面中再次执行构建任务就可以了,非常方便,自动化部署,再也不用手动上传项目到服务器了。

 

其他:

五、解决一个tomcat关闭,所有tomcat都被关闭了的问题(如果你的jenkins也是安装的服务器上的其中一个tomcat中,就可能被莫名杀掉)

       这是因为所有的tomcat的关闭脚本(shutdown.sh或者说catalina.sh)都默认监听的是8005端口。只要进去tomcat目录下的conf目录下的server.xml文件中,将

<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <!-- Security listener. Documentation at /docs/config/listeners.html
  <Listener className="org.apache.catalina.security.SecurityListener" />

  中的8005端口改为不同的端口,就不会一个tomcat关闭,所有的tomcat都被关闭了

六、以后可以在linux服务器中安装多个tomcat,来部署不同的项目,分别使用不同的端口,如我喜欢用8081,8082,8083等端口来解决多个tomcat端口冲突问题(在tomcat的conf目录下的server.xml中修改即可,默认为8080)。然后可以用jenkins来管理这些tomcat的自动化部署啦。

 

关于jenkins的安装及自动部署(代码片段)

 1.安装Jenkins1.1准备Linux服务器,关闭防火墙禁止开机启动1systemctlstopfirewalld.service#停止firewall2systemctldisablefirewalld.service#禁止firewall开机启动1.2Jenkins的下载安装1sudowget-O/etc/yum.repos.d/jenkins.repohttps://pkg. 查看详情

jenkins——持续集成介绍及jenkins安装部署(插件+用户权限+凭据+maven打包)(代码片段)

持续集成介绍及Jenkins安装部署持续集成及Jenkins介绍软件开发生命周期什么是持续集成?持续集成的组成要素持续集成的好处Jenkins介绍Jenkins安装和持续集成环境配置持续集成流程说明Gitlab代码托管服务器安装Gitlab添加组、创... 查看详情

超详细的jenkins自动化部署(代码片段)

Jenkins自动化部署安装Java环境安装Jenkins安装Nginx安装GitJenkins任务安装Java环境通过dnf工具来进行安装centos7:yuminstalldnfcentos8:系统自带Jenkins依赖Java环境,需要先安装Java环境命令:#远程仓库搜索是否有java安装包dnfsearchja... 查看详情

jenkins实现cicd实战攻略部署备份(代码片段)

Jenkins安装、备份和恢复一.安装Jenkins下载安装包,官方地址支持常见的部署方式下载war包,将其放到tomcat中运行(放到webapps目录下,启动tomcat)直接执行java-jarjenkins.war--httpPort=8080官方推荐使用rpm包安装yuminstall-yjenkinsdocker容器部... 查看详情

centos部署jenkins(代码片段)

下载jenkins+jdk+tomcat下载地址:https://jenkins.io/点击GenericJavapackage(.war)下载war包tomcat和jdk已经下载好了。步骤简介注:所有步骤可以参考文件,有些出入,问题自己解决即可。第一步要先安装jdk,并配置环境变量第二步安装tomcat,并... 查看详情

jenkins自动打包部署项目(代码片段)

 首先去jenkins的官网下载安装包 https://jenkins.io/ 个人下载是长期稳定的那个版本,下载后,得到一个.msi的安装包:点击进行安装,然后一直点击下一步。jenkins会自动占用8080端口,如果这个端口不希望被jenkins占用,可... 查看详情

jenkins自动打包部署项目(代码片段)

首先去jenkins的官网下载安装包https://jenkins.io/ 个人下载是长期稳定的那个版本,下载后,得到一个.msi的安装包:点击进行安装,然后一直点击下一步。jenkins会自动占用8080端口,如果这个端口不希望被jenkins占用,可以去文件... 查看详情

jenkins部署前端项目(代码片段)

1.Jenkins部署前端项目在使用Jenkins部署前端项目时需要搭建好JenKins的自动化部署环境。1)Linux服务器上安装好了JDK或者OpenJDK软件,并配好了环境变量2)Linux服务器上安装好Jenkins软件,并安装了JenKins推荐安装的插... 查看详情

jenkins——安装部署(代码片段)

 1、部署Jdk由于jenkins需要jdk环境,所以先部署jdk,解压并设置环境变量就行:#tarzxfjdk-8u45-linux-x64.tar.gz#mvjdk-8u45-linux-x64/usr/local/jdk1.8#vi/etc/profileJAVA_HOME=/usr/local/jdk1.8PATH=$PATH:$JAVA_HOME/binCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.j... 查看详情

centos7部署jenkins(代码片段)

1.下载jenkins安装包wgethttps://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.277.1-1.1.noarch.rpm2.安装jenkinsrpm-ivhjenkins-2.277.1-1.1.noarch.rpm3.修改jenkins配置vim/etc/sysconfig/jenkins修改内容&#x 查看详情

devops持续集成-jenkins+gitlab|环境部署|性能优化|报错排查(代码片段)

DevOps持续集成-Jenkins+Gitlab一、DevOps概述1.1持续集成1.2持续交付1.3持续部署二、部署Jenkins2.1安装JDK2.2安装Jenkins2.3Jenkins配置优化①JVM内存优化②插件源优化2.4启动Jenkins①解锁Jenkins②选择插件安装2.5安装Git2.6配置Git2.7初始化Git三... 查看详情

jenkins部署(代码片段)

基础环境       建议使用jdk1.5以上版本 (这里不做jdk安装讲解,去官网下载jdk下载地址)       下载(jdk-7u45-Linux-x64.tar.gz版本)jenkins安装    &n 查看详情

centos7安装jenkins及部署前后端应用到服务器(代码片段)

一、安装Jenkins#1、下载镜像仓库jenkins.repowget-O/etc/yum.repos.d/jenkins.repohttps://pkg.jenkins.io/redhat-stable/jenkins.repo--no-check-certificate#2、下载jenkins.io.keyrpm--importhttps://pkg.jenkins.io/redhat-st 查看详情

jenkins构建并部署一个go语言项目(代码片段)

Jenkins安装1、下载安装java[root@localhost~]#yuminstalljava-1.8.0-openjdk*-y方式一:#下载安装包[root@localhost~]#wgethttps://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.249.1-1.1.noarch 查看详情

jenkins构建并部署一个go语言项目(代码片段)

Jenkins安装1、下载安装java[root@localhost~]#yuminstalljava-1.8.0-openjdk*-y方式一:#下载安装包[root@localhost~]#wgethttps://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.249.1-1.1.noarch 查看详情

jenkinsjenkins自动化部署笔记(代码片段)

Jenkins安装dnfDNF(DandifiedYum)是新一代的RPM软件包管理器。安装java环境,Jenkins依赖java环境安装Jenkinsdnf安装Jenkins访问IP地址8080端口Jenkins配置nginx配置vscode安装安插Remote-SSH配置github管理项目构建触发器:遇到的一些问题和解... 查看详情

搭建jenkins实现自动化部署(代码片段)

搭建jenkins实现自动化部署一、安装jenkins1、添加yumrepos,然后安装 sudowget-O/etc/yum.repos.d/jenkins.repohttps://pkg.jenkins.io/redhat/jenkins.reposudorpm--importhttps://pkg.jenkins.io/redhat/jenkins.io.key 注:如果上边的执行成功就不用再执行这两行了&n... 查看详情

jenkins安装部署(代码片段)

前期准备:下载jdk,下载tomcat1.安装Git2.安装maven3.安装Jenkins在你的本地电脑或者linux服务器上下载安装jenkins:jenkins下载地址:https://jenkins.io/  下载完后把它部署到你的tomcat上运行:放到tomcat的webapps目录下,启动tomcat(windo... 查看详情