Jenkins使用教程


Jenkins使用教程

1.安装jenkins

1.使用docker安装jenkins

使用docker 安装
不多叙述了
docker run -u root -d -p 9999:8080 -p 50000:50000  -v /root/jk/jenkins-home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /root/env/maven-3.6.3:/usr/local/maven-3.6.3 -v /root/env/jdk8:/var/java/jdk8 --name jk jenkinsci/blueocean 


这里需要把maven和java的环境,提前下载到宿主机中(当然这个可以使用内部的环境,但国内的速度你们懂的,所有这里提前下载好)
在/root/env/    目录下有maven和java的环境,连接到了docker内部
-p 外面访问9999就是访问docker内部的8080
/root/jk/jenkins-home就是docker内部的家目录,链接出来了

运行完成后,访问你的主机:9999就能访问 jenkins后台了

初始密码查看

cat /var/lib/jenkins/secrets/initialAdminPassword

2.安装必要插件

需要安装gitee,github,ssh,chinese至少需要这几个

image-20210314231752773

这样搜索下载

image-20210314231821188

基本完成安装

2.配置jenkins

开始配置jenkins

image-20210314232012551

1. 配置你的账号

包括,服务器的账号密码,你的github/gitee/gitlab的账号密码

image-20210314232110178

2. 进入这里

image-20210314232129905

image-20210314232157477

3.创建jenkins任务

image-20210314232223961

这是你的项目地址

image-20210314232247957

并且还有你的对应的账号密码

image-20210314232320591

重点设置,表示你的gitee发现推送了,就这个这个jenkins发送通知

image-20210314232416955

项目的管理中,有这个webhooks里面把url和密码生成弄上

下面点击生成会有密码

image-20210314232500618

打包

image-20210314232539781

也可以使用这个

image-20210314232603407

就是执行shell指令即可

我是这样的

image-20210314232617001

使用绝对路径来打包

然后在项目中写上脚本,

需要把生成的jar包发送给服务器

有两种办法

第一种使用ssh的scp

你需要先进jenkins容器里面,使用ssh-keygen生成密钥

再把.ssh/id_rsa.pub 复制出来,再放到服务器的.ssh/authknown这个文件中(使用ssh-copy-id root@ip 这样也行,当时需要输入密码)

再随便用scp传一个文件后,

之后scp就能随意使用了

把jar包和Dockerfile文件使用scp发送到服务器,

第二种方法是使用expect来输入密码

脚本如下

#!/bin/bash
sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
apk add expect

/usr/bin/expect<<EOF
spawn scp ./target/demo-0.0.1-SNAPSHOT.jar root@ip:/root/jk/test
expect {
  "*assword" { send "密码\r" }
}
expect eof

spawn scp ./Dockerfile root@ip:/root/jk/test
expect {
  "*assword" { send "密码\r" }
}
expect eof

EOF

也行

现在的情况是

服务器里面已经有jar和Dockerfile了

直接运行服务器端的脚本

如下

docker rm -f jk-demo 
docker rmi -f jk-demo
cd /root/jk/test
docker build -t jk-demo .  
docker run -d --name jk-demo  -p 8083:8080 jk-demo

Dockerfile如下

FROM java:8
RUN mkdir -p /home/jk
WORKDIR /home/jk
COPY *.jar /home/jk/app.jar
EXPOSE 8083

ENTRYPOINT ["java","-jar","/home/jk/app.jar"]

4.测试部署

当你git push后,

image-20210314233413578

就自动开始创建了

image-20210314233428413

这样就成功了

image-20210314233442911

没问题OK


文章作者: anlen123
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 anlen123 !
 上一篇
Java中文档的转换问题 Java中文档的转换问题
Java中文档的转换问题我的经验来看,转换为word是不会出现乱码问题的 1. 把文件变成响应流//把zip文件流变成响应流 OutputStream os = null; try { response.setHeader("Con
2021-03-16 anlen123
下一篇 
前端代理自己的后端 前端代理自己的后端
为什么需要这么做?你在工作中可能是会遇见这样的情况: 前后端分离开发,前端访问的后端地址是你同事的机器, 你修改bug后,在前端测试不了你的写的bug,只能先git push ,你同事再拉下来,重新跑.才能看见,于是,我们使用nginx代
2021-03-12 anlen123
  目录