win10使用Docker安装jenkins并实现基于git、maven的SpringBoot项目自动化部署

目录

1.docker镜像

1.使用centos7作为基础镜像

2.启动镜像

3.进入容器

2.安装ssh

1.ssh安装

2.配置路由

3.查看容器的ip地址并使用xshell连接:

3.安装配置jdk,maven,git

1.配置jdk环境变量

2.安装maven

3.安装git

4.安装jenkins

5.测试自动化部署

1.jenkins安装插件

2.全局工具配置

3.系统设置

4.创建一个maven项目

5.测试

6.参考博客


1.docker镜像

1.使用centos7作为基础镜像

jdk版本:java version "1.8.0_131"

2.启动镜像

docker run -itd --name jenkins_demo --privileged flyceek/centos7-jdk /usr/sbin/init

 如果要是用systemctl 管理服务就要加上参数 --privileged 来增加权,并且不能使用默认的bash,换成 init。

3.进入容器

2.安装ssh

安装ssh并使用xshell连接docker虚拟机

1.ssh安装

查看是否已安装openssh-server:rpm -qa | grep ssh

安装指令:yum install openssh-server

开启ssh服务:systemctl start sshd.service

设置开机启动:systemctl enable sshd.service

检查ssh服务是否已开启:ps -e|grep sshd

2.配置路由

配置docker for windows 容器内网通过独立IP直接访问,这样就可以将容器独立IP暴露给局域网,方便使用。

参考博客:https://www.cnblogs.com/brock0624/p/9788710.html

3.查看容器的ip地址并使用xshell连接:

         开放防火墙端口

         报错:bash: ip command not found无法查看ip需安装yum -y install initscripts

         修改root用户密码,使用xshell登录

3.安装配置jdk,maven,git

本文使用最新版maven3.6.3、git2.17

1.配置jdk环境变量

由于镜像自带jdk,首先查找jdk位置

得到jdk目录:/opt/soft/java/jdk/jdk1.8.0_131

配置JDK环境变量

#java environment
export JAVA_HOME=/opt/soft/java/jdk/jdk1.8.0_131
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

echo $JAVA_HOME验证

使配置生效source /etc/profile

2.安装maven

从官网下载apache-maven-3.6.3-bin.tar文件

将apache-maven-3.6.3-bin.tar拷贝到目录/usr/jenkins_demo/maven

解压文件tar -zxvf apache-maven-3.6.3-bin.tar.gz

移动文件到指定目录mv apache-maven-3.6.3 /usr/local/maven3

vi /etc/profile然后还需要 配置环境变量

#在文档最后

export M2_HOME=/usr/local/maven3

export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin

保存退出后运行下面的命令使配置生效,或者重启服务器生效

source /etc/profile

验证版本mvn -v

出现maven版本即成功

3.安装git

获取github最新的Git安装包下载链接,进入Linux服务器,执行下载,命令为: wget https://github.com/git/git/archive/v2.17.0.tar.gz

解压 tar -zxvf v2.17.0.tar.gz

安装编译源码所需依赖,命令为: yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 耐心等待安装,出现提示输入y即可

安装依赖时,yum自动安装了Git,需要卸载旧版本Git,命令为: yum remove git 出现提示输入y即可

进入解压后的文件夹,命令 cd git-2.17.0 ,然后执行编译,命令为 make prefix=/usr/local/git all 耐心等待编译即可

安装Git至/usr/local/git路径,命令为 make prefix=/usr/local/git install

打开环境变量配置文件,命令 vim /etc/profile ,在底部加上Git相关配置信息:

export PATH=$PATH:/usr/local/git/bin 

保存执行source /etc/profile

输入命令 git --version ,查看安装的git版本,校验通过,安装成功

4.安装jenkins

官方下载地址:https://jenkins.io/download/

下载war

将jenkins.war文件放到centos7中,用如下命令启动(也可以使用tomcat启动)

nohup java -jar jenkins.war --logfile=server.log --httpPort=8088 > server.log 2>& 1 &

默认情况不指定--httpPort的话jenkins使用的是8080端口,在此我指定的端口是8088

下图结果说明启动成功

访问http://172.17.0.2:8088 如下图:

vi server.log找到如下图所示的密码:27a4057bc4b743b48d5c660f976132e6

接下来等待安装插件:

安装完成之后创建用户

点击继续,看到如下页面说明安装成功!

5.测试自动化部署

创建一个测试项目,上传到码云(github),使用轮询的方式监控代码的变化

1.jenkins安装插件

2.全局工具配置

系统管理->全局工具配置

配置jdk、maven、git(系统中没有安装的可以选择自动安装)

git配置(注意配置路径)

3.系统设置

系统管理->系统配置

配置Publish over SSH

4.创建一个maven项目

设置General

设置源码管理

构建触发器

构建环境配置

clean install -Dmaven.test.skip=true

Post Steps构建后的操作

找到jar包的位置:target/*.jar

保存,测试

shell脚本:

#!/bin/bash
function killproject()
{
#端口号
  project_pid=$(netstat -lnp | grep 8090|awk '{print $7}'|cut -d/ -f1)
  if [  $project_pid > 0 ];then
        echo "pid: $project_pid "
        kill -9 $(netstat -lnp | grep 8090|awk '{print $7}'|cut -d/ -f1)
        echo "restart"
  else
        echo "start"
  fi
}
function start_project()
{
        source /etc/profile
        echo "starting......"
        cd /usr/jenkins_demo/jar/
        nohup java -jar jenkins-test-0.0.1-SNAPSHOT.jar >warpper.log &2>1 &

}
function check_project()
{
  check_pid=$(netstat -lnp | grep 8090|awk '{print $7}'|cut -d/ -f1)
  if [ $check_pid  > 0 ];then
        echo "project is start and  pid = : $check_pid  "
  else
        echo "project are not start"
  fi

}
killproject
start_project
sleep 10
check_project

5.测试

构建成功效果图:

报错如下图

解决办法:安装yum install net-tools

访问接口查看结果

更改代码并提交。5分钟后看结果

定时构建会重复构建。(可以使用其他构建触发器:如Git提交代码自动触发JenKins构建项目)

初步使用介绍完毕。

6.参考博客

https://www.jianshu.com/p/cfdf0d90185e

发布了35 篇原创文章 · 获赞 13 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/cs373616511/article/details/104037415