docker方式安装配置Jenkins

jenkins 安装

一、Jenkins介绍

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具

Jenkins应用广泛,大多数互联网公司都采用Jenkins配合GitLab、Docker、K8s作为实现[DevOps]()的核心工具。

Jenkins最强大的就在于插件,Jenkins官方提供了大量的插件库,来自动化CI/CD过程中的各种琐碎功能。

二、Jenkins下载

#下载Jenkins
[root@k8s-node1 ~]# docker pull jenkins/jenkins
Using default tag: latest
latest: Pulling from jenkins/jenkins
f606d8928ed3: Pull complete 
cf135c941a45: Pull complete 
fea651aa61b3: Pull complete 
b3de9145d90a: Pull complete 
06160249b5a4: Pull complete 
319e5aa34f2f: Pull complete 
e67b851589a6: Pull complete 
a8084e1d7daf: Pull complete 
43e00cf75355: Pull complete 
4b2c5926839d: Pull complete 
8693ba74707e: Pull complete 
a375d4ce7d04: Pull complete 
f9ad524238bd: Pull complete 
c507abd5f1c4: Pull complete 
Digest: sha256:1e613de4b61df2b8ad1b3771947a4c927070809af7dd3a2353364ff33189014c
Status: Downloaded newer image for jenkins/jenkins:latest
docker.io/jenkins/jenkins:latest
#查询镜像
[root@k8s-node1 ~]# docker images
REPOSITORY                                                                     TAG       IMAGE ID       CREATED         SIZE
jenkins/jenkins                                                                latest    14194737b3cb   5 days ago      463MB

三、创建Jenkins挂载目录并授权权限

[root@k8s-node1 data]# pwd
/usr/local/jenkins/data
#授权,不授权后面启动容器会提示没有写入权限
[root@k8s-node1 jenkins]# chmod -R a+w /usr/local/jenkins/data/

四、docker创建并启动Jenkins容器

#启动容器
[root@k8s-node1 data]# docker run -itd --name jenkins -v /usr/local/jenkins/data:/var/jenkins_home/ -p 8080:8080 -p 50000:50000 jenkins/jenkins
50aa91cb43aacedfdef28466ce7a958d11cbea51b5b11518fed32193b249fad5
#查询日志提示没有写入权限
[root@k8s-node1 data]# docker ps -a | grep jenk
50aa91cb43aa   jenkins/jenkins                                      "/usr/bin/tini -- /u…"   41 seconds ago       Exited (1) 39 seconds ago               jenkins
[root@k8s-node1 data]# 
[root@k8s-node1 data]# docker logs -f 50aa91cb43aa
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
#这个报错是由于我们映射的/usr/local/jenkins/data目录没有授权写入权限导致
#授权
[root@k8s-node1 jenkins]# chmod -R a+w /usr/local/jenkins/data/
#再次启动容器
[root@k8s-node1 jenkins]# docker start 50aa91cb43aa
50aa91cb43aa
#查询日志已经正常启动
[root@k8s-node1 jenkins]# docker logs -f 50aa91cb43aa
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.vmplugin.v7.Java7$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2022-10-17 09:01:54.210+0000 [id=29]    INFO    jenkins.install.SetupWizard#init: 

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

6b5139c0e21241b39084e217c93e404b

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

2022-10-17 09:02:30.342+0000 [id=28]    INFO    jenkins.InitReactorRunner$1#onAttained: Completed initialization
2022-10-17 09:02:30.382+0000 [id=22]    INFO    hudson.lifecycle.Lifecycle#onReady: Jenkins is fully up and running
2022-10-17 09:02:58.416+0000 [id=44]    INFO    h.m.DownloadService$Downloadable#load: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
2022-10-17 09:02:58.421+0000 [id=44]    INFO    hudson.util.Retrier#start: Performed the action check updates server successfully at the attempt #1
2022-10-17 09:02:58.433+0000 [id=44]    INFO    hudson.model.AsyncPeriodicWork#lambda$doRun$0: Finished Download metadata. 65,982 ms

五、修改镜像源地址

重新启动Jenkins容器后,由于Jenkins需要下载大量内容,但是由于默认下载地址下载速度较慢,需要重新设置下载地址为国内镜像站

在本地映射的目录中找到文件:hudson.model.UpdateCenter.xml;修改地址为:http://mirror.esuni.jp/jenkins/updates/update-center.json

[root@k8s-node1 data]# 
[root@k8s-node1 data]# pwd
/usr/local/jenkins/data
[root@k8s-node1 data]# ll
total 28
-rw-r--r--  1 1000 1000 1661 Oct 17 17:08 config.xml
-rw-r--r--  1 1000 1000  100 Oct 17 17:06 copy_reference_file.log
-rw-r--r--  1 1000 1000  168 Oct 17 17:07 hudson.model.UpdateCenter.xml
-rw-r--r--  1 1000 1000  171 Oct 17 17:01 jenkins.telemetry.Correlator.xml
drwxr-xr-x  2 1000 1000    6 Oct 17 17:01 jobs
-rw-r--r--  1 1000 1000  907 Oct 17 17:07 nodeMonitors.xml
drwxr-xr-x  2 1000 1000    6 Oct 17 17:01 nodes
drwxr-xr-x  2 1000 1000    6 Oct 17 17:01 plugins
-rw-r--r--  1 1000 1000  129 Oct 17 17:06 queue.xml.bak
-rw-r--r--  1 1000 1000   64 Oct 17 17:01 secret.key
-rw-r--r--  1 1000 1000    0 Oct 17 17:01 secret.key.not-so-secret
drwx------  2 1000 1000   91 Oct 17 17:01 secrets
drwxr-xr-x  2 1000 1000   67 Oct 17 17:08 updates
drwxr-xr-x  2 1000 1000   24 Oct 17 17:01 userContent
drwxr-xr-x  3 1000 1000   55 Oct 17 17:01 users
drwxr-xr-x 11 1000 1000  264 Oct 17 17:01 war
#把地址修改成:http://mirror.esuni.jp/jenkins/updates/update-center.json
[root@k8s-node1 data]# cat hudson.model.UpdateCenter.xml 
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url>
  </site>
</sites>[root@k8s-node1 data]# 

六、重启Jenkins容器并登录

[root@k8s-node1 data]# docker restart 50aa91cb43aa
50aa91cb43aa

访问jenkins首页,首次访问Jenkins需要稍微等会

在容器中复制对应密码

[root@k8s-node1 data]# docker exec -it 50aa91cb43aa cat /var/jenkins_home/secrets/initialAdminPassword
6b5139c0e21241b39084e217c93e404b

 

 

 

 安装git,其他默认,选择安装

 

开始下载插件,可能会出现下载失败的插件,在登录进去首页也可以在次下载

 

创建一个用户

实例配置,默认

至此安装完成

 

安装失败的插件,可以在系统管理-插件管理中继续安装

 

Jenkins配置git,jdk,maven

 

一、下载插件

maven:

官网下载地址:https://maven.apache.org/download.cgi

 

jdk:自动官网下载,我这里用的是jdk8

二、把下载好的jdk,maven包上传到服务器中

[root@k8s-node1 ~]# ll
-rw-r--r--  1 root root   8676320 Oct 19 09:43 apache-maven-3.8.6-bin.tar.gz
-rw-r--r--  1 root root 194151339 Oct 17 11:46 jdk-8u231-linux-x64.tar.gz

解压到jenkins的映射目录中

[root@k8s-node1 ~]# tar -xzf apache-maven-3.8.6-bin.tar.gz -C /usr/local/jenkins/data
[root@k8s-node1 ~]# tar -xzf jdk-8u231-linux-x64.tar.gz -C /usr/local/jenkins/data/
[root@k8s-node1 ~]# 

可以看到对应解压出来的文件

三、jenkins配置

登录jenkins,找到系统配置,全局工具配置

 

配置jdk

找到容器中的路径

代码拉取到Jenkins本地后,需要在Jenkins中对代码进行构建,这里需要Maven的环境,而Maven需要Java的环境,接下来需要在Jenkins中安装JDK和Maven,并且配置到Jenkins服务

 

 

配置maven

 配置Maven的settings.xml:1. 镜像源修改为:阿里云镜像地址;2. 增加JDK1.8编译插件

[root@k8s-node1 conf]# cd /usr/local/jenkins/data/apache-maven-3.8.6/conf
#配置Maven的settings.xml,1. 镜像源修改为:阿里云镜像地址;2. 增加JDK1.8编译插件
[root@k8s-node1 conf]# vim settings.xml
<!-- 阿里云镜像地址 -->
<mirror>  
    <id>alimaven</id>  
    <name>aliyun maven</name>  
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>          
</mirror>
<!-- JDK1.8编译插件 -->
<profile>
    <id>jdk-1.8</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
    </activation>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>        
</profile>

 jenkins配置maven

 

配置git

找到git安装路径,配置上去

posted @   IT运维成长笔记  阅读(2123)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示