【Jenkins】二、Jenkins实践

Jenkins实践

  • 一、Jenkins实践前置准备与说明
    • Jenkins通过ssh登录
    • Jenkins配置Publish Over SSH
    • Git clone指定仓库下的具体模块
    • Docker运行环境部署
  • 二、Git + Maven + Jenkins自动部署jar项目
    • stop.sh脚本:
  • 三、Git + Maven + Jenkins + Docker自动部署jar项目
    • (1)需要制作jdk镜像,Dockerfile文件如下:
    • (2)需要制作jar项目的镜像,Dockerfile文件:
    • (3)在jenkins下进行配置,然后自动部署
  • 四、Git + Maven + Jenkins + Docker自动部署war项目
    • (1)需要制作tomcat镜像,Dockerfile文件如下:
    • (2)需要制作war项目的镜像,Dockerfile文件:
    • (3)在jenkins下进行配置,然后自动部署;

一、Jenkins实践前置准备与说明

wid_869476688276666

1、Jenkins部署在tomcat webapps目录下,并启动tomcat;
2、第一次访问jenkins,建议跳过jenkins的插件安装,后续手动安装我们需要的插件;
3、从插件仓库:https://plugins.jenkins.io 下载 .hpi 文件即为插件文件,手动从jenkins插件管理中上传安装;
插件升级站点 https://updates.jenkins-zh.cn/update-center.json
几个插件:

  • Localization: Chinese
  • Git
  • publish-over-ssh
  • Deploy to container Plugin

Jenkins通过ssh登录

ssh root@192.168.143.128
ssh root@192.168.143.128 ssh_exchange_identification: read: Connection reset by peer
ssh -v root@192.168.143.128

-v表示查看连接详细信息
连接不上,在服务端更改配置文件

vim /etc/hosts.allow

#允许所有ip主机均能连接本机
sshd: ALL
重启ssh:systemctl restart sshd
以上完成后,Linux的ssh服务环境表明正常;

Jenkins配置Publish Over SSH

1.首先Jenkins要安装Publish Over SSH插件,找到插件管理,搜索下载即可;
2.安装好Publish Over SSH插件之后,点击系统管理–>系统设置,在系统设置界面找到Publish Over SSH部分;
【Jenkins】二、Jenkins实践_第1张图片
【Jenkins】二、Jenkins实践_第2张图片
【Jenkins】二、Jenkins实践_第3张图片

Git clone指定仓库下的具体模块

Jenkins需要先安装git插件
【Jenkins】二、Jenkins实践_第4张图片
模块文件夹是通过下图的位置选择添加的:
【Jenkins】二、Jenkins实践_第5张图片

Docker运行环境部署

安装 docker
Docker 支持 CentOS 6 及以后的版本;
CentOS7系统可以直接通过yum进行安装:
安装前可以查看一下系统是否已经安装了Docker:

yum list installed | grep docker

安装:yum install docker -y
安装后,使用docker --version(docker version,docker -v)查看docker是否安装成功,docker --help 查看docker帮助命令;
卸载docker:

yum remove docker.x86_64 -y                      
yum remove docker-client.x86_64 -y                 
yum remove docker-common.x86_64 -y

安装之后启动 Docker 服务;
启动:

systemctl start docker 或者 service docker start 
或者systemctl start docker.service

查看docker有没有启动:

 ps -ef | grep docker

停止:

systemctl stop docker 或者 service docker stop

或者systemctl stop docker.service
重启:

systemctl restart docker 或者 service docker restart

检查docker进程的运行状态:

systemctl status docker 或者 service docker status
systemctl status docker.service

查看docker进程:

ps -ef | grep docker
docker info 查看docker系统信息
docker --help 查看所有的帮助信息
docker commond --help 查看某个commond命令的帮助信息

二、Git + Maven + Jenkins自动部署jar项目

启动springboot的jar,需要编写shell脚本;

stop.sh脚本:

#!/bin/bash
echo "stop SpringBoot Application"
pid=`ps -ef | grep springboot-1.0.0.jar | grep -v grep | awk '{print $2}'`
echo “旧应用进程id:$pid”
if [ -n "$pid" ]
then
kill -9 $pid
fi

start.sh脚本:

#!/bin/bash
export JAVA_HOME=/usr/local/jdk1.8.0_241
echo ${JAVA_HOME}
echo "授权当前用户"
chmod 777 /opt/.jenkins/workspace/springboot/11-springboot/target/springboot-1.0.0.jar
echo "执行...."
cd /opt/.jenkins/workspace/springboot/11-springboot/target/
nohup ${JAVA_HOME}/bin/java -jar springboot-1.0.0.jar >> logs.log &
echo "启动成功"

三、Git + Maven + Jenkins + Docker自动部署jar项目

(1)需要制作jdk镜像,Dockerfile文件如下:

ADD jdk-8u241-linux-x64.tar.gz /usr/local/java
ENV JAVA_HOME /usr/local/java/jdk1.8.0_241
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
CMD java -version
  • 构建镜像:
docker build -t jdk1.8.0_241 .
  • 运行镜像:
docker run -d aqqwwdff958 (镜像id)

(2)需要制作jar项目的镜像,Dockerfile文件:

FROM jdk1.8.0_241
MAINTAINER cat
ADD springboot-1.0.0.jar /opt/app
EXPOSE 8080
RUN chmod +x /opt/app/springboot-1.0.0.jar
CMD java -jar /opt/app/springboot-1.0.0.jar

(3)在jenkins下进行配置,然后自动部署

四、Git + Maven + Jenkins + Docker自动部署war项目

(1)需要制作tomcat镜像,Dockerfile文件如下:

FROM jdk1.8.0_241
MAINTAINER cat
ADD apache-tomcat-9.0.31.tar.gz /usr/local/
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.31
ENV PATH $PATH:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
CMD /usr/local/apache-tomcat-9.0.31/bin/catalina.sh run

构建镜像:

docker build -t my-tomcat-9.0.31 .

运行镜像:

docker run -d -p 8080:8080 24dfsdasdasf

(2)需要制作war项目的镜像,Dockerfile文件:

FROM my-tomcat-9.0.31
MAINTAINER cat
ADD  springboot-1.0.0.war /usr/local/apache-tomcat-9.0.31/webapps
EXPOSE 8080
CMD /usr/local/apache-tomcat-9.0.31/bin/catalina.sh run

构建和运行War包程序的镜像

构建镜像:docker build -t springboot-war .
启动镜像:docker run -d -p 8080:8080 b9f7c20c50c7
启动查看日志:docker logs -f eb3dasd34a01a8(容器ID)

(3)在jenkins下进行配置,然后自动部署;

你可能感兴趣的:(01_工程协作专题,jenkins,运维)