当前位置: 代码网 > it编程>编程语言>Java > docker搭建jenkins

docker搭建jenkins

2024年08月06日 Java 我要评论
注:这里配置的jdk、maven需要在jenkins所在的容器内部保存,即 先下载jdk、maven到centos服务器上,然后通过docker命令拷贝到jenkins容器内,拷贝命令:docker cp /www/jdk/jdk-11.xxx containerId:/jdk/xxx 需要先建立好目录文件。该步骤可以通过使用管理员角色 powerShell 命令来测试打包镜像:docker build -t sp-server:1.0 -f ./src/main/docker/Dockerfile .

1,安装jdk环境

此处略

2,确保安装好了docker,使用docker安装jenkins

 docker search jenkins  #查看jenkins版本命令
 docker pull jenkins/jenkins:lts   # 拉取最新版本的jenkins镜像
 mkdir /home/jenkins   # 创建jenkins工作目录
 chown -r 1000:1000 /home/jenkins # 给该目录赋予权限
 docker run -itd -p 9090:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jenkins:/var/jenkins_home jenkins/jenkins:lts
 ## --privileged=true 让容器有root权限,方便进入容器操作
 ## -p 9090:8080 jenkins的web访问端口9090
 ## -v /home/jenkins:/var/jenkins_home 容器/var/jenkins_home路径映射到宿主机/home/jenkins

3,开放9080防火墙端口

firewall-cmd --zone=public --add-port=9090/tcp --permanent
firewall-cmd --reload

4,登录jenkins

  • docker运行jenkins成功后,就可以访问这个地址了:

http://45.63.104.35:9090/,第一次登录需要输入管理员密码

5,安装相关插件

安装角色管理插件:role-based authorization strategy

  • 安装ssh插件

git plugin

github pull request builder

maven integration plugin

6,全局工具配置jdk、maven、git等

注:这里配置的jdk、maven需要在jenkins所在的容器内部保存,即 先下载jdk、maven到centos服务器上,然后通过docker命令拷贝到jenkins容器内,拷贝命令:docker cp /www/jdk/jdk-11.xxx containerid:/jdk/xxx 需要先建立好目录文件

拷贝完后,可以先确保容器内jdk、maven的环境变量,您需要在/etc/profile中添加以下代码:

export java_home=/usr/java/jdk1.8.0_211   # jdk安装路径
export path=$path:$java_home/bin
source /etc/profile

在终端中输入echo $java_home 命令来查看jdk的安装目录是否正确

7,新建部署机器与github代码库的凭证

第一个表示 使用github的账号密码进行连接

第二个是作为webhook时所需要凭证

其中的secret为在github中创建所得,我的-settings-developer settings-personal access token,勾选 repo、admin:repo_hook

8,设置系统管理-系统设置,即 代码库ssh连接以及webhook相关配置

webhook:

ssh连接设置:

9,在相关 src/main目录下面创建docker目录,在docker目录下创建dockerfile文件,文件内容:

# 指定是基于哪个基础镜像
from openjdk:11

# 作者信息
maintainer loren

# 挂载点声明
volume /tmp

# 将本地的一个文件或目录,拷贝到容器的文件或目录里
add /target/sp-server.jar sp-server.jar

#shell脚本
run bash -c 'touch /sp-server.jar'

# 将容器的8000端口暴露,给外部访问。
expose 8099

# 当容器运行起来时执行使用运行jar的指令
entrypoint ["java", "-jar", "sp-server.jar"]

该步骤可以通过使用管理员角色 powershell 命令来测试打包镜像:docker build -t sp-server:1.0 -f ./src/main/docker/dockerfile .

执行该命令后可通过docker image查看是否生成了java 镜像

然后通过docker命令执行验证:docker run -d -p 8099:8099 --name sp-server sp-server:1.0

10,创建任务-maven项目

设置镜像仓库:

设置webhook触发:

执行shell命令:

#!/bin/bash -il
docker rm -f sp-server
sleep 1
docker rmi -f sp-server:1.0
sleep 1
mvn clean install -dmaven.test.skip=true
sleep 1
docker build -t sp-server:1.0 -f ./src/main/docker/dockerfile .
sleep 1
docker run -d -p 8099:8099 --name sp-server sp-server:1.0

相关参照文章:

jenkins + docker + gitee自动化部署springboot应用-阿里云开发者社区

github-webhook自动触发jenkins构建_github webhook jenkins-csdn博客

docker安装jenkins及配置详细教程 - 掘金

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com