# Jenkins 安装及使用
ubuntuserver 安装步骤
# 前置要求
# 安装 java 和 maven
# 下载 jenkins
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - | |
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' | |
sudo apt-get update | |
sudo apt-get install jenkins |
# 需要有 jdk 镜像
构建最小 jdk 镜像
jre8 下载地址
选择 Linux x64filesize
解压文件
tar -xzvf jre-8u181-linux-x64.tar.gz |
删除无用的文件
cd jre1.8.0_181/ | |
rm -rf COPYRIGHT LICENSE README release THIRDPARTYLICENSEREADME-JAVAFX.txt THIRDPARTYLICENSEREADME.txt Welcome.html | |
rm -rf lib/plugin.jar \ | |
lib/ext/jfxrt.jar \ | |
bin/javaws \ | |
lib/javaws.jar \ | |
lib/desktop \ | |
plugin \ | |
lib/deploy* \ | |
lib/*javafx* \ | |
lib/*jfx* \ | |
lib/amd64/libdecora_sse.so \ | |
lib/amd64/libprism_*.so \ | |
lib/amd64/libfxplugins.so \ | |
lib/amd64/libglass.so \ | |
lib/amd64/libgstreamer-lite.so \ | |
lib/amd64/libjavafx*.so \ | |
lib/amd64/libjfx*.so |
重新打包
tar zcvf jre8.tar.gz *
新建 Dockerfile
# using alpine-glibc instead of alpine is mainly because JDK relies on glibc | |
FROM docker.io/jeanblanchard/alpine-glibc | |
# author | |
MAINTAINER simon | |
# A streamlined jre | |
ADD jre8.tar.gz /usr/java/jdk/ | |
# set env | |
ENV JAVA_HOME /usr/java/jdk | |
ENV PATH ${PATH}:${JAVA_HOME}/bin | |
# run container with base path:/opt | |
WORKDIR /opt |
构建 docker 镜像 (Dockerfile 与压缩包在同一目录下)
docker build -t jdk8 .
java 中 pom 文件修改,指定 jdk8 镜像
<plugin> | |
<groupId>com.spotify</groupId> | |
<artifactId>docker-maven-plugin</artifactId> | |
<version>1.0.0</version> | |
<configuration> | |
<imageName>ibase/${project.artifactId}:${project.version}</imageName> | |
<!--<dockerDirectory>src/main/docker</dockerDirectory>--> | |
<forceTags>true</forceTags> | |
<baseImage>jdk8</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> |
另一种写法 (这是我用过的)
<build> | |
<finalName>lwapp-config</finalName> | |
<plugins> | |
<plugin> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-maven-plugin</artifactId> | |
</plugin> | |
<plugin> | |
<groupId>com.spotify</groupId> | |
<artifactId>docker-maven-plugin</artifactId> | |
<version>1.2.2</version> | |
<configuration> | |
<!-- 安装 docker 的主机的地址 --> | |
<imageName>192.168.98.205:5092/${project.artifactId}:${project.version}</imageName> | |
<baseImage>jdk8</baseImage> | |
<entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint> | |
<!--<dockerCertPath>/etc/ca/docker-ca</dockerCertPath>--> | |
<resources> | |
<resource> | |
<targetPath>/</targetPath> | |
<directory>${project.build.directory}</directory> | |
<include>${project.build.finalName}.jar</include> | |
</resource> | |
</resources> | |
<!-- 安装 docker 的主机的地址 --> | |
<dockerHost>http://192.168.98.205:2375</dockerHost> | |
</configuration> | |
</plugin> | |
</plugins> | |
</build> |
# 安装私有 docker 仓库
docker run -di --name=myregistry -p 5092:5000 registry
尝试访问 registry 容器 :http://10.62.17.101:10092/v2/_catalog
想要上传还需要 docker 开放 2375 端口
vi /usr/lib/systemd/system/docker.service
进入后修改
# 注释掉或删除这句话 | |
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock | |
# 加入下面这句 | |
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock -H fd:// --containerd=/run/containerd/containerd.sock |
# 让虚拟机识别到更改的仓库
在 /etc/docker/daemon.json 添加
"insecure-registries":["192.168.98.205:5092"]
重新加载 docker 和 daemon
systemctl daemon-reload | |
systemctl restart docker |
修改要上传的标签并上传
docker tag jdk8 192.168.98.205:5092/jdk8 | |
docker push 192.168.98.205:5092/jdk8 |
# (可选项) 安装 gogs
docker run -d -p 20022:22 -p 23000:3000 -v /root/gogs_data:/data gogs/gogs |
注:将自己的代码上传到 gogs 或者其他的 git 仓库中,Jenkins 会根据这个仓库地址的代码进行生成镜像
# Jenkins 的使用
- 安装好后 Jenkins 默认启动了 8080 端口,输入网址进入需要输入密钥
密钥可以使用 systemctl status jenkins
查看
或者 cat /var/lib/jenkins/secrets/initialAdminPassword
- 进入后会有两个选项可以不用选直接点击右上角关闭
- 主界面侧边栏找到系统管理
点击插件管理
选择可选插件搜索想要的插件选中后点击 install(安装 Git plugin 和 Maven Integration plugin)
- 退出插件管理进入全局工具配置
- 配置 maven 的 setting 文件的路径和 jdk 的路径 (jdk 可以不用改使用默认的),配置完成点击保存即可
- 返回主页点击新建任务,输入名称选择 - 构建一个 maven 项目,点击确定
- 源码管理选择 Git,输入之前上传仓库的 clone 地址
- (之前的都不用动) Build 的 RootPom 选择 git 仓库中的位置。(在表面则不用改,文件夹内部则为:文件夹名 /pom.xml)
- Goals and options 根据需求填写,一般为
clean package docker:build -DpushImage
- 点击保存后返回主界面点击三角开关即可,成功则显示绿色√,否则为红色 ×