Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程

目录

1、准备好maven项目,上传github

         1.1、下载git工具到本地,使用git bash工具连接github

         1.2、使用ssh-keygen -t rsa -C "邮箱" 命令,一直回车,找到生成的C:\Users\Administrator\.ssh\id_rsa.pub复制内容,配置到github

        1.3、上传springboot项目操作命令(github创建的仓库名称必须和项目名称相同):

       1.4、查看github仓库里上传成功

2、阿里云(我是centos7以上的)安装Jenkins

2.1、不推荐使用下载的jenkins.war包,推荐使用yum最好,因为后面Jenkins控制台连接阿里云服务器会访问不了,yum安装jenkins会在服务器/etc/passwd下生成用户信息,到时可以在控制台ssh连接阿里云时切换该用户。

2.2、阿里云安装Jenkins命令

3、阿里云修改Jenkins端口并访问控制台

3.1、vim编辑/etc/sysconfig/jenkins文件,找到JENKINS_USER、JENKINS_PORT修改为自己的端口,因为8080可能会跟有tomcat的默认端口冲突,最好修改下

3.2、新增配置信息vim /etc/init.d/jenkins,不然会报错

3.3、启动Jenkins

3.4、执行centos7以上:systemctl status jenkins.service,centos7以下service status jenkins

3.5、防火墙开放Jenkins端口

3.6、重启防火墙

3.7、访问Jenkins控制台地址,外网服务器使用公有ip:http://服务器ip:8081/,初始密码在:/var/lib/jenkins/secrets/initialAdminPassword

3.8、选择“Install suggested plugins”安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。  ​

​3.9、创建超级管理员账号,可以直接跳过,如果遇到403的情况,返回重新尝试下

4、系统管理-->配置全局工具配置(如果服务器安装了maven、jdk,去掉自动安装,选择自己服务器安装目录)-->点击保存,我这儿是已经在服务器安装好了的。

5、系统管理-->插件管理(安装好需要的插件)

6、阿里云服务器安装git

6.1、安装Git命令:

6.2、查看git是否安装成功:

6.3、生成密钥和码云进行连接,码云作为github和服务器中央权限管理的

6.4、生成授权证书,中间直接全部回车就行

6.5、复制/root/.ssh/id_rsa.pub里的内容,到码云进行配置ssh公钥

6.6、查看是否连接成功

7、Linux服务器注册到Jenkins

7.1、在Jenkins中依次点击:系统管理 -> 节点管理 -> 新建节点

7.2、保存后,点击启动代理配置,查看日志是否成功

8、部署项目配置

8.1、在Jenkins主页点击<创建一个新任务>,然后输入任务名,选择构建一个maven项目,注意:只有安装了Maven Integration插件才有这个选项

8.2、点击确定后进入maven项目配置界面,选择限制项目的运行节点,标签表达式填写上面成功创建的节点名称,没报红表明成功

8.3、源码配置

8.5、配置build,Goals and options 填写自动maven编译的方式,test是不对测试代码进行编译,也可以在pom配置排除掉。这个根据实际情况写,也可以填写install

8.6、使用shell自动编译项目成jar方式,根据实际项目情况写

8.7、保存后,进到该maven项目下,点击立即构建,构建失败的话可以先清理下工作空间

8.8、查看控制定输出日志


注意(安装好jdk、maven后添加到/etc/profile,按住shift+g到达文件底部):

#java env
export JAVA_HOME=/usr/local/jdk1.8.0_221
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
#maven env path
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin

1、准备好maven项目,上传github

         1.1、下载git工具到本地,使用git bash工具连接github

         1.2、使用ssh-keygen -t rsa -C "邮箱" 命令,一直回车,找到生成的C:\Users\Administrator\.ssh\id_rsa.pub复制内容,配置到github

   Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第1张图片      

        1.3、上传springboot项目操作命令(github创建的仓库名称必须和项目名称相同):

进入springboot项目目录下右键Git Bash Here执行git init初始化仓库命令、

       再执行git add .提交全部文件、

                  再执行git commit -m "提交备注"、

                         再建立github连接 git remote add origin https://github.com/xxxxx/xxxx.git、

                                   再最后git push -u origin master,正常情况要输入用户名和密码才能提交

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第2张图片

       1.4、查看github仓库里上传成功

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第3张图片

 

2、阿里云(我是centos7以上的)安装Jenkins

2.1、不推荐使用下载的jenkins.war包,推荐使用yum最好,因为后面Jenkins控制台连接阿里云服务器会访问不了,yum安装jenkins会在服务器/etc/passwd下生成用户信息,到时可以在控制台ssh连接阿里云时切换该用户。

2.2、阿里云安装Jenkins命令

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins

        安装结束后显示,表明成功安装

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第4张图片

3、阿里云修改Jenkins端口并访问控制台

3.1、vim编辑/etc/sysconfig/jenkins文件,找到JENKINS_USER、JENKINS_PORT修改为自己的端口,因为8080可能会跟有tomcat的默认端口冲突,最好修改下

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第5张图片

3.2、新增配置信息vim /etc/init.d/jenkins,不然会报错

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第6张图片

3.3、启动Jenkins

sudo service jenkins start/stop/restart

sudo chkconfig jenkins on

3.4、执行centos7以上:systemctl status jenkins.service,centos7以下service status jenkins

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第7张图片

3.5、防火墙开放Jenkins端口

开放端口
firewall-cmd --zone=public --add-port=8081/tcp --permanent
加载端口
firewall-cmd --reload
查看防火墙开放端口
firewall-cmd --list-ports

3.6、重启防火墙

sudo service iptables restart

3.7、访问Jenkins控制台地址,外网服务器使用公有ip:http://服务器ip:8081/,初始密码在:/var/lib/jenkins/secrets/initialAdminPassword

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第8张图片

3.8、选择“Install suggested plugins”安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。 
 Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第9张图片

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第10张图片
3.9、创建超级管理员账号,可以直接跳过,如果遇到403的情况,返回重新尝试下

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第11张图片

4、系统管理-->配置全局工具配置(如果服务器安装了maven、jdk,去掉自动安装,选择自己服务器安装目录)-->点击保存,我这儿是已经在服务器安装好了的。

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第12张图片Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第13张图片

5、系统管理-->插件管理(安装好需要的插件)

因为前面推荐安装了部分,再安装几个比较好用的Jenkins插件:Rebuilder、Safe Restart、Publish Over SSH、Maven Integration 依次点击:系统管理 -> 插件管理 -> 可选插件,输入插件名搜索插件,安装完重新登录下才能生效。

 

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第14张图片

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第15张图片

6、阿里云服务器安装git

6.1、安装Git命令:

yum install git

6.2、查看git是否安装成功:

[root@iZ806w7vfiyfb2Z ydqc]# git version
git version 1.8.3.1

6.3、生成密钥和码云进行连接,码云作为github和服务器中央权限管理的

git config --global user.name "admin"
git config --global user.email "[email protected]"

6.4、生成授权证书,中间直接全部回车就行

ssh-keygen -t rsa -C "github填写的邮箱"

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第16张图片

6.5、复制/root/.ssh/id_rsa.pub里的内容,到码云进行配置ssh公钥

在gitee中依次点击:设置 -> 安全设置 -> ssh公钥,将公钥中的内容复制到公钥文本框中,随便写一个标题即可

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第17张图片

6.6、查看是否连接成功

ssh [email protected]

7、Linux服务器注册到Jenkins

7.1、在Jenkins中依次点击:系统管理 -> 节点管理 -> 新建节点

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第18张图片

7.2、保存后,点击启动代理配置,查看日志是否成功

出现Authentication success的字样就是成功,因为搭建好了再来编写的文章,有些找不到记录了。

回到列表看到以下,成功建立节点

8、部署项目配置

8.1、在Jenkins主页点击<创建一个新任务>,然后输入任务名,选择构建一个maven项目,注意:只有安装了Maven Integration插件才有这个选项

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第19张图片

8.2、点击确定后进入maven项目配置界面,选择限制项目的运行节点,标签表达式填写上面成功创建的节点名称,没报红表明成功

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第20张图片

8.3、源码配置

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第21张图片

8.5、配置build,Goals and options 填写自动maven编译的方式,test是不对测试代码进行编译,也可以在pom配置排除掉。这个根据实际情况写,也可以填写install

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第22张图片

8.6、使用shell自动编译项目成jar方式,根据实际项目情况写

#!/bin/sh

echo "开始执行shell脚本"

# 在jenkins环境中一定要加这句话,否则这个脚本进程最后会被杀死
export BUILD_ID=dontKillMe

# 指定最后编译好的jar的存放位置
JAR_PATH=/usr/local/ydqc

# 如果路径不存在,就创建路径
[ ! -e $JAR_PATH ] && mkdir -p $JAR_PATH

# 指定jenkins中存放编译好的jar的位置
JENKINS_JAR_PATH=/var/lib/jenkins/workspace/TestTask/target

# 如果路径不存在,就创建路径
[ ! -e $JENKINS_JAR_PATH ] && mkdir -p $JENKINS_JAR_PATH

# 指定jenkins中存放编译好的jar的名称(这个jar的名字和pom文件配置有关)
JENKINS_JAR_NAME=ydqc-0.0.1-SNAPSHOT.jar

# 获取该项目的进程号,用于重新部署项目前杀死进程
process_id=$(ps -ef | grep ydqc | awk '{print $2}')

# 如果该项目正在运行,就杀死项目进程
echo $process_id
if [[ ! -z "$process_id" ]]
then 
	echo "停止正在进行服务"
    kill -9 $process_id
    echo "开始启动服务"
else 
	echo "服务未启动"
fi

# 进入Jenkins中编译好的jar的位置
cd ${JENKINS_JAR_PATH}

# 将Jenkins中编译好的jar复制到最终存放项目jar的位置
cp $JENKINS_JAR_PATH/$JENKINS_JAR_NAME $JAR_PATH

# 进入到存放项目jar的位置
cd ${JAR_PATH}

# 后台启动项目,并且将控制台日志输出到nohup.out中

nohup java -jar ${JENKINS_JAR_NAME} >ydqc.log &

echo "shell脚本执行完毕"

提示:可以自己先在服务器里执行一下该运行jar命令

8.7、保存后,进到该maven项目下,点击立即构建,构建失败的话可以先清理下工作空间

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第23张图片

8.8、查看控制定输出日志

Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第24张图片Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第25张图片

如果出现jenkins Failed to parse POMs或者not can command 'java'啥的要好好检查下全局工具配置的jdk。

注意:没问题的话,会编译Download 很多jar包和资源文件,时间可能会久一点。

构建成功后看到shell打印的信息成功了Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程_第26张图片

然后到阿里云服务器使用netstat -nltp查看是否有已经成功运行的项目,这儿的端口是springboot的application.properties一样的端口。

 

你可能感兴趣的:(Jenkins,Jenkins)