1.下载安装jdk
官网:https://jdk.java.net/
https://www.oracle.com/java/technologies/downloads/
上传到linux服务器
cd /usr
mkdir jdk
tar -zxvf 所要解压的文件名
编辑profile文件:vim /etc/profile
把光标移到最后一行,键盘按 i,进入编辑模式,然后插入以下内容:(注意自己所建java的路径、jdk的名称)
JAVA_HOME=/usr/jdk/jdk1.8.0_361
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
后按ESC退出编辑模式,‘shift + :’,输入wq,回车,完成保存并退出
让编辑的文件生效执行:source /etc/profile
最后验证JDK安装是否成功:java -version
2.下载安装maven(可以挂载卷也可以安装到挂载jenkins目录下面)
下载官网:https://maven.apache.org/
下载地址https://maven.apache.org/download.cgi
上传到linux服务器
cd /usr
mkdir maven
tar -zxvf 文件
配置maven仓库,设置阿里镜像仓库,一定要配置一下,国内的下载jar快些,首先进入cd apache-maven-3.9.1目录,创建仓库存储目录,mkdir xql。如下图:
cd /apache-maven-3.9.1/conf
vim setting
配置setting
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
<localRepository>/var/jenkins_home/maven/apache-maven-3.9.1/xql</localRepository>
<interactiveMode>true</interactiveMode>
<offline>false</offline>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
</servers>
<mirrors>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
</settings>
配置环境变量
编辑profile文件:vim /etc/profile
把光标移到最后一行,键盘按 i,进入编辑模式,然后插入以下内容:(注意自己所建maven的路径、名称)
export MAVEN_HOME=/usr/maven/apache-maven-3.9.1
export PATH=$PATH:$MAVEN_HOME/bin
让编辑的文件生效执行:source /etc/profile
mvn -v查看
3.docker安装jenkins
下载地址参考手册:https://www.jenkins.io/download/
docker pull jenkins/jenkins
docker run --name myjenkins \
-d \
--restart=always \
-p 8001:8080 \
-p 50000:50000 \
-v /home/wyt/jenkins_home:/var/jenkins_home \
-v /usr/maven/apache-maven-3.9.1:/usr/local/maven \
-v /var/run/docker.sock:/var/run/docker.sock \
--env JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" jenkins/jenkins
docker run \
-u root \
-d \
--restart=always \
-p 8001:8080 \
-p 50000:50000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/maven/apache-maven-3.9.1:/usr/local/maven \
-v /var/jenkins_home:/var/jenkins_home \
jenkinsci/blueocean
访问jenkins:http://xxxxxx:8001/
查看密码:cat /var/lib/jenkins/secrets/initialAdminPassword
- 安装Maven Integration
- 安装Publish Over SSH(如果不需要远程推送,不用安装)
- 如果使用Gitee 码云,安装插件Gitee(Git自带不用安装)
- 配置maven 系统盘挂载maven路径
新建工程配置git仓库以及访问身份凭证
指定分支
clean install -Dmaven.test.skip=true
测试是否正常打包 点击构建 观察控制台
cd /var/jenkins_home/workspace/
ls -l
运行项目
因为我们项目和jenkins在同一台服务器,所以我们用shell脚本运行项目,原理既是通过dockerfile 打包镜像,然后docker运行即可。
Dockerfile
在springboot项目resources新建一个名为Dockerfile的文件,注意没有后缀名,其内容如下:(大致就是使用jdk8,把jar包添加到docker然后运行prd配置文件)
# 基础镜像使用java
FROM openjdk:8
# 作者
MAINTAINER xql
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD target/goods.jar app.jar
# 运行jar包
#暴露6060端口作为微服务
EXPOSE 8089
ENTRYPOINT ["java","-DBash.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]
都可以
ENTRYPOINT ["java","-DBash.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]
修改jenkins任务配置
-t:指定新镜像名
.:表示Dockfile在当前路径
值得注意的是第一步 因为我的DockerfIle是在resources下面 所以我copy到当前主目录了
cp /var/jenkins_home/workspace/goods/src/main/resources/Dockerfile /var/jenkins_home/workspace/goods/Dockerfile
cd /var/jenkins_home/workspace/goods/
docker stop goods || true
docker rm goods || true
docker rmi goods || true
docker build -t goods .
docker run -d -p 8089:8089 --name goods goods:latest
点击立即构建 观察控制台信息