目录
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构建项目)
初步使用介绍完毕。