拉取jenkins镜像
docker pull jenkins/jenkins:2.480-jdk21
创建一个文件夹,用于二次打包jenkins镜像
然后进入该文件夹,一会儿要有一些文件放在这里面
mkdir -p /data/jenkinscd /data/jenkins
提前准备好jdk、maven、node,并放到/data/jenkins下
由于3.8.x以上版本的maven只支持https协议,我们需要覆盖原有的settings.xml,让它支持http
准备settings.xml,文件内容如下
<?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"> </settings>
我们需要将镜像进行二次打包,把我们所需要的东西都加进去,新建dockerfile
from jenkins/jenkins:2.480-jdk21 expose 8080 # 将maven和jdk添加到容器中 # tar.gz添加进去后会自动解压,无需手动解压 add apache-maven-3.9.9-bin.tar.gz /usr/local add jdk-8u421-linux-x64.tar.gz /usr/local add node-v11.0.0-linux-x64.tar.gz /usr/local # 覆盖容器里的settings.xml add settings.xml /usr/local/apache-maven-3.9.9/conf/ # 配置环境变量 env tz=asia/shanghai env m2_home=/usr/local/apache-maven-3.9.9 env node_home=/usr/local/node-v11.0.0-linux-x64 # 配置maven、node的环境变量 # jdk环境变量不可在这里配,会影响jenkins的运行 env path=$m2_home/bin:$node_home/bin:$path
提前创建好jenkins_home,并授予最高权限
mkdir jenkins_home chmod +777 jenkins_home
现在/data/jenkins下就会有这么几个文件
进行二次打包
docker build -t jenkins .
打包后,就能看到我们打包后的镜像
授予docker.sock权限,因为一会儿进入jenkins容器的时候要用docker命令
chmod +777 /var/run/docker.sock
然后我们把容器运行起来吧
docker run -d --name jenkins \ -p 0.0.0.0:8080:8080 \ -v /data/jenkins/jenkins_home:/var/jenkins_home \ -v /etc/localtime:/etc/localtime \ -v /run/docker.sock:/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker \ jenkins
等待一两分钟,访问访问你的ip地址:8080即可看到jenkins的首页
获取密码
docker exec jenkins cat /var/jenkins_home/secrets/initialadminpassword
看到这个页面后,安装推荐的插件即可
等待插件安装完成
安装完成后会弹出以下页面,使用admin账户登陆就可以了
进入jenkins后要先修改密码,否则之后就进不去了
右上角,进入security
修改成你想要的密码
改好后会自动跳到登录界面,用户名是admin,密码是你刚刚的密码
还记得刚刚dockerfile,我们并没有配置jdk的环境变量,所以这边要手动配置一下
进入工具配置
配置jdk的安装目录
开始测试
新建一个项目
任务名称随便填,选择流水线
确定之后会进入项目的配置,我们找到流水线,输入测试脚本,保存
脚本如下
pipeline { agent any tools { // 刚刚配置jdk的名称 jdk 'jdk8' } stages { stage('test') { steps { script { sh """ docker -v java -version mvn -v node -v npm -v """ } } } } }
点击立即构建
这里会显示构建状态
我们点进去,然后点击console output,可以看到构建时,控制台的输出
在控制台中即可看到刚刚打印的版本号
本文只介绍怎么安装jenkins,如果想要部署项目,请移步我的另一篇博客
jenkins整合docker实现cicd自动化部署(若依项目
到此这篇关于docker安装jenkins,并配置jdk、node和maven的文章就介绍到这了,更多相关docker安装jenkins内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论