优秀的编程知识分享平台

网站首页 > 技术文章 正文

docker容器里安装jenkins(docker in docker jenkins)

nanyue 2024-07-30 03:14:29 技术文章 5 ℃

一. 安装docker

自动化安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

启动docker

sudo systemctl start docker

二、安装jenkins

1.拉取jenkins镜像,这步比较慢。

docker pull jenkins/jenkins:lts

2.目录权限

chown -R 1000 /mydata/jenkins_home

3.运行jenkins

docker run -di --name=jenkins -p 8080:8080 -v /mydata/jenkins_home/:/var/jenkins_home jenkins/jenkins:lts

备注:映射java、maven等目录

docker run -v /usr/local/apache-maven-3.8.4:/usr/local/apache-maven-3.8.4 -v /usr/local/java:/usr/local/java -v /mydata/jenkins_home/:/var/jenkins_home --name myjenkins -p 8080:8080 -d jenkins/jenkins:lts

4.解锁jenkins

查看密码命令:

cat /mydata/jenkins_home/secrets/initialAdminPassword

跟网站上的路径不一样,因为docker映射到了/mydata/jenkins_home路径上

5.安装推荐的插件

点击安装推荐的插件即可。

1) 插件安装完成后创建一个账号。

2) 点以管理员账号继续,后面有一个输入地址,保持不变点保存并完成

3) 全局配置

  • 配置JDK,选择自动安装。需要输入oracle账号密码。
  • 配置maven

6.安装SSH插件

7.配置系统管理

在系统配置里找到SSH,点添加

密钥那里点添加,添加服务器的密钥即可,id和描述随便输

8.写脚本

mkdir -p /usr/local/jenkins

cd /usr/local/jenkins/

vim jenkins.sh

#! /usr/bin/env bash
app_name='jenkinsdemo'
docker stop {app_name}
echo '-------stop container--------'
docker rm ${app_name}
echo '-------rm container----------'
docker run -di --name=${app_name} -p 7070:7070 test/${app_name}:1.0-SNAPSHOT
echo '-------start container-------'

chmod +x ./jenkins.sh

9.新建任务

输入任务名字,选FreeStyle project(自由风格的项目)

然后选择源码管理,填入源码仓库地址

然后在构建里选择调用顶层maven目标

然后在添加一个构建,选Execute shell script on remote host using ssh,目的是为了执行刚才我们写的jenkins.sh脚本

保存并退出

10.返回任务列表开始构建

备注:因为是通过jenkins安装的maven,拉取代码是从默认的中央仓库拉取的,会比较慢。可以改为从阿里的仓库拉取

cd /mydata/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.6.2/conf

vim settings.xml

#在mirrors标签里加入
 <mirror>  
     <id>alimaven</id>  
     <name>aliyun maven</name>  
     <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
     <mirrorOf>central</mirrorOf>          
 </mirror> 
最近发表
标签列表