机缘
为了提高公司效率,避免不必要的低级错误,我接受了这项工作,这整个过程中,我发现里面的门道还是不少的,愿分享出来,帮助有需要的人
收获
实现项目的快速部署,内心还是很爽的
安装步骤:
- 环境准备
- 在线安装
- 调试部署发包
上代码:
1.1:需要JDK和MAVEN
百度安装jdk和maven,这里注意要手动设置JAVA_HOME、MAVEN_HOME
列举一下jdk的:
1.2.1:安装
sudo apt install openjdk-8-jdk
1.2.2:查找位置
update-alternatives --display java
/usr/lib/jvm/java-8-openjdk-amd64
就是jdk的实际位置
1.2.3:配置系统变量
sudo vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
刷新
source /etc/profile
测试
echo $JAVA_HOME
java -version
1.3 mven同上
2.1:jenkins安装
1、配置密钥
sudo curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \
/usr/share/keyrings/jenkins-keyring.asc > /dev/null
2、添加源
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
3、安装
# 更新
sudo apt update
# 查看可安装的版本
sudo apt-cache madison jenkins |head
# 此处安装的Jenkins 2.401.3
sudo apt-get install fontconfig openjdk-11-jre
sudo apt install jenkins=2.401.3
# 如果2.401.3是Jenkins最新稳定版,可执行下面命令
sudo apt install jenkins
2.2:报错处理
2.2.1:jenkins默认8080端口
# 修改端口操作
sudo vim /lib/systemd/system/jenkins.service
Environment="JENKINS_PORT=8188"
# 重启Jenkins
sudo systemctl daemon-reload
sudo systemctl restart jenkins.service
# 再次查看状态则正常
sudo systemctl status jenkins.service
2.2.2:修正服务配置Failed to start Jenkins Continuous Integration Server
# 出现以上报错后执行下面操作:
sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/
sudo mkdir /var/lib/dpkg/info/
sudo apt-get update
# 再进行安装操作
sudo apt install jenkins=2.401.3 -y
2.3:插件安装
默认采用jenkins自身要求的插件安装,然后等待一会
2.3:配置
2.3.1:配置JDK
2.3.2:配置maven
这里注意maven要用你项目中的settings
2.3.3:配置git
这里的用户名要用上你git上的用户名和密码
2.3.4:配置ssh信息
2.3.5:配置项目push的镜像
2.3.5.1:pom配置地址,这里注意大多我们的项目docker端口没有开放
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.1.0</version>
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<imageName>ruoyi-admin/${project.artifactId}:${project.version}</imageName>
<dockerHost>http://192.168.xx.xx:2375</dockerHost>
<baseImage>java:8</baseImage>
<entryPoint>["java", "-jar","/${project.build.finalName}.jar"]
</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
2.3.5.2:修改docker配置文件
vim /usr/lib/systemd/system/docker.service
找到ExecStart行,增加如下信息
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock
systemctl daemon-reload // 1,加载docker守护线程
systemctl restart docker // 2,重启docker
2.3.6:查看docker镜像就会有了
2.3.7:这时候要在jenkins中配置当每次构建之后的动作
2.3.7.1:配置sh文件信息如下:
2.3.8:实际操作
这里jenkins做了哪些事情呢?
首先是吧docker中对应的服务停掉,然后删除镜像,重新把新的镜像启动
看到这,你就已经把jenkins搞定了,可以在简历中写上一句:熟悉jinkens+docker一键部署spring-boot应用
憧憬
做一个年入40+的程序猿