一、Jenkins概述
1、Jenkins简介
2、Jenkins 是什么?
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
使用java语言编写,起源于Hudson(Hudson原本是sun公司的开源项目,后sun被Oracle收购)
插件化,目前拥有1500+插件实现各种功能。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
下载WAR文件安装
要下载并运行Jenkins的WAR文件版本,请执行以下操作:
-
将最新的稳定Jenkins WAR包 下载到您计算机上的相应目录。
-
在下载的目录内打开一个终端/命令提示符窗口到。
-
运行命令java -jar jenkins.war
-
浏览http://localhost:8080并等到*Unlock Jenkins*页面出现。
-
继续使用Post-installation setup wizard后面步骤设置向导。
发布异常:
docker 运行应用程序出现 “no main manifest attribute, in /XXXX.jar” 原因
解决部署报错No main manifest attribute, in XXX.jar
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<includeSystemScope>true</includeSystemScope>
<mainClass>xxx.xxx.xxx.xxx</mainClass>
</configuration>
</plugin>
java 运行报错has been compiled by a more recent version of the Java Runtime (class file version 54.0)
Dockerfile指定的编译环境JDK版本不符
11、管理页面配置操作过程
①新建Item-->创建自定义名称-->构建一个maven项目--确定
②配置-->源码管理[无/Git/Subversion]-->代码路径/密码添加-->Local module directory [.]
-->Repository depth[infinity]-->勾选下面2个选项
③构建触发器[勾选Build whenever a ....]
④构建环境[勾选Add timestamps to the Console Output]
⑤Build-->Root POM [项目文件夹/pom.xml]-->Goals and options[clean install -Dmaven.repo.local=/root/.m2/repository -Dmaven.test.skip=true]
⑥Post Steps [勾选Run regardless of build result]
Execute shell
#!/bin/bash -ilex
cd java_project_name
docker stop java_project_name || true
docker rm java_project_name || true
docker rmi java_project_name || true
docker build -t java_project_name . || true
docker run -d --name java_project_name -m 300m --restart always --net=host -p 9001:9001 java_project_name
java_project_name:修改为自己的项目文件夹名称
9001等端口可以自己设置
项目pom同级目录下需要配置Dockerfile文件
FROM openjdk:11.0.13
#数据卷,宿主机文件夹挂在到容器
VOLUME /tmp
#nacos服务器地址
ENV NACOS_SERVER_ADDR=192.168.xx.xx:8840
#nacos命名空间
ENV NACOS_SERVER_NAMESPACE=xxxx-xxx-xxx-xxx-xxx-xxxx
ENV NACOS_CONFIG_NAMESPACE=xxxx-xxx-xxx-xxx-xxx-xxxx
#项目环境变量
ENV SPRING_PROFILES_ACTIVE=dev
#复制文件
ADD target/java_project_name-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 9001
#Docker容器启动时执行的命令,-D开头。如有换行加上英文状态的\
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar",\
"-Dspring.cloud.nacos.discovery.serverAddr=${NACOS_SERVER_ADDR}", \
"-Dspring.cloud.nacos.discovery.namespace=${NACOS_SERVER_NAMESPACE}", \
"-Dspring.cloud.nacos.config.serverAddr=${NACOS_SERVER_ADDR}", \
"-Dspring.cloud.nacos.config.namespace=${NACOS_CONFIG_NAMESPACE}", \
"-Dspring.profiles.active=${SPRING_PROFILES_ACTIVE}","/app.jar"]
查看jenkin状态
1.查看jenkins状态
systemctl status jenkins
2.重启jenkins
systemctl restart jenkins
懂与不懂都是收获!
每天⽤⼼记录⼀点点。内容也许不重要,但习惯很重要!
干我们这行,啥时候懈怠,就意味着长进的停止,长进的停止就意味着被淘汰,只能往前冲,直到凤凰涅槃的一天!