首页 > 其他分享 >Docker安装Jenkins

Docker安装Jenkins

时间:2023-08-02 13:31:32浏览次数:37  
标签:HOME maven usr jenkins apache Jenkins Docker 安装 docker

一、前言

Jenkins作为CI、CD的先驱者,虽然现在的风头没有Gitlab强了,但是还是老当益壮,很多中小公司还是使用比较广泛的。最近小编经历了一次Jenkins发包,感觉还不错,所以自己学习了一下。网上比较多的教程都是在Linux上搭建Jenkins,小编经过一个星期的探索终于完成了在docker中进行搭建。

「最终版就是:通过git上传代码--->使用Jenkins构建自动打包--->把jar包打成docker镜像,运行在docker中,Windows下进行访问」

主要记录一下一些踩过的坑和注意点,让后来人能够跟着小编一次完成!!

二、安装Docker

安装Docker

-  删除老版本

sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

- 安装工具包

sudo yum install -y yum-utils

如果报错

Docker安装Jenkins_apache


Docker安装Jenkins_apache_02


- 设置存储库


sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

Docker安装Jenkins_docker_03


- 安装docker引擎(安装中提示选项直接输入y回车)


sudo yum install docker-ce docker-ce-cli containerd.io

Docker安装Jenkins_maven_04


Docker使用

- 启动docker

sudo systemctl start docker

- 设置开机启动docker

sudo systemctl enable docker

- 设置阿里云镜像仓库

  1. 直接用支付宝登录 --->阿里云地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
  2. Docker安装Jenkins_maven_05


  3. 要用自己的,用我的没用
# 创建文件
  sudo mkdir -p /etc/docker
  # 修改配置, 设置镜像
  sudo tee /etc/docker/daemon.json <<-'EOF'
  {
    "registry-mirrors": ["https://vw9qapdy.mirror.aliyuncs.com"]
  }
  EOF
  # 重启后台线程


3. 重启

# 重启后台线程
  sudo systemctl daemon-reload
  # 重启docker
  sudo systemctl restart docker

4. 演示

Docker安装Jenkins_maven_06

三、linux安装jdk和maven

1、下载JDK8Linux版本

官网下载太慢了,小编这里为大家下载好了:

百度网盘地址:https://pan.baidu.com/s/1nlfc2gwL0Ho_wWbVuJiG4g
提取码:ov24

2、下载Maven

maven3.8.5下载链接:https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz

3、使用xftp上传到linux上

Docker安装Jenkins_docker_07


4、解压

「解压maven」

tar -zxvf apache-maven-3.8.5-bin.tar.gz

「重命名maven」

mv apache-maven-3.8.5-bin.tar.gz apache-maven-3.8.5

「解压jdk」

tar -zxvf jdk-8u333-linux-x64.tar.gz

「重命名jdk」

mv jdk-8u333-linux-x64.tar.gz jdk1.8

5、配置环境变量

「进入环境变量文件」

vim /etc/profile

「添加jdk和manven配置」输入i,进入输入模式

注意自己的安装目录,放在文件最上面就行

JAVA_HOME=/usr/local/java/jdk1.8
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
export MAVEN_HOME=/usr/local/java/apache-maven-3.8.5
export PATH=${MAVEN_HOME}/bin:${PATH}

按下esc ,输入:wq保存退出。

Docker安装Jenkins_docker_08


「查看是否安装成功」

java -version
mvn -v

Docker安装Jenkins_apache_09


6、配置Maven加速镜像

cd apache-maven-3.8.5/conf/
vim settings.xml

输入i,进入输入模式

<mirrors>
 <mirror>
     <id>alimaven</id>
     <name>aliyun maven</name>
     <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
     <mirrorOf>central</mirrorOf>
 </mirror>
</mirrors>

按下esc ,输入:wq保存退出。

Docker安装Jenkins_apache_10


四、Docker安装Jenkins

1.准备挂载目录

cd home/
mkdir jenkins_home

一定要赋予修改权限,不然挂载会失败,我们这里给最高权限。

chmod -R 777 jenkins_home

Docker安装Jenkins_maven_11


2. 执行docker命令

docker run -di --name=myjenkins -p 8080:8080 -v /home/jenkins_home:/var/jenkins_home \
-v /usr/local/java/jdk:/usr/local/jdk1.8 \
-v /usr/local/java/apache-maven-3.8.5:/usr/local/apache-maven-3.8.5 \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts

-v /home/jenkins_home:/var/jenkins_home:是对容器内存储Jenkins的一些配置信息的文件夹-v /usr/local/java/jdk:/usr/local/jdk1.8:是把linux下的jdk和容器内的关联(配置Jenkins时使用)-v /usr/local/java/apache-maven-3.8.5:/usr/local/apache-maven-3.8.5:是把linux下的maven和容器内的关联(配置Jenkins时使用)

-v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock:是可以在Jenkins容器里使用我们Linux下的docker。

五、配置Jenkins

1. 进入Jenkins

输入:http://192.168.84.133:8080/(ip+端口号)

Docker安装Jenkins_maven_12

2. 获取密码

docker logs 容器id

Docker安装Jenkins_maven_13

Docker安装Jenkins_apache_14

Docker安装Jenkins_maven_15

3. 安装插件

Docker安装Jenkins_docker_16

Docker安装Jenkins_maven_17

4. 创建用户

Docker安装Jenkins_docker_18


5. 保存配置地址

Docker安装Jenkins_apache_19


6. 配置插件镜像

Docker安装Jenkins_maven_20

Docker安装Jenkins_docker_21

输入:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

点击提交

Docker安装Jenkins_docker_22

Docker安装Jenkins_apache_23

7. 安装ssh插件

Docker安装Jenkins_maven_24

安装完成重启一下Jenkins

8. 添加ssh登录账号凭据

点击系统管理,找到下图点击

Docker安装Jenkins_apache_25

Docker安装Jenkins_maven_26

Docker安装Jenkins_docker_27

9. 配置全局ssh

点击系统管理,找到系统配置

Docker安装Jenkins_apache_28

点击新增:

Docker安装Jenkins_docker_29

点击保存:

Docker安装Jenkins_maven_30

10. 配置jdk和maven

点击系统管理,找到全局工具配置

Docker安装Jenkins_apache_31

Docker安装Jenkins_apache_32

点击保存

六、准备Springboot项目到git

1. 核心代码

我们看到只是一个请求打印,我们最后访问有docker成功,代表我们构建发包成功!

Docker安装Jenkins_docker_33


2. pom内容

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <includeSystemScope>true</includeSystemScope>
            </configuration>
        </plugin>
    </plugins>
</build>

3. yml文件

这里只指定了端口号

server.port=8081

4. Dockerfile

和pom文件同级

FROM java:8

COPY *.jar /app.jar

CMD ["--server.port=8080"]

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "/app.jar"]

5. 上传git仓库

Docker安装Jenkins_maven_34

在这里插入图片描述

七、使用Jenkins部署项目

1. 新建任务

Docker安装Jenkins_apache_35

Docker安装Jenkins_maven_36

2. 添加git凭据

Docker安装Jenkins_docker_37

Docker安装Jenkins_docker_38

==选择刚刚添加的凭据报错信息消失==

Docker安装Jenkins_docker_39

3. 添加maven构建

Docker安装Jenkins_docker_40

Docker安装Jenkins_maven_41

4. 增加构建执行shell

Docker安装Jenkins_maven_42

shell脚本:

#!/bin/bash
# 服务名称
SERVER_NAME=jenkins

# 源jar名称,mvn打包之后,target目录下的jar包名称
JAR_NAME=demo-0.0.1-SNAPSHOT

# jenkins下的目录
JENKINS_HOME=/var/jenkins_home/workspace/jenkins

# 等待三秒
echo sleep 3s
sleep 1
echo sleep 2s
sleep 1
echo sleep 1s
sleep 1
      
echo "结束进程完成"

cd $JENKINS_HOME/target

cp $JENKINS_HOME/Dockerfile $JENKINS_HOME/target

# 修改文件权限
chmod 755 $JAR_NAME.jar

echo "看看docker能不能用"
docker -v

echo "停止容器"
# 停止容器
docker stop springboot

echo "删除容器"
# 删除容器
docker rm springboot
echo "删除镜像"
# 删除镜像
docker rmi springboot
echo "打包镜像"
# 打包镜像
docker build -t springboot .
echo "运行镜像"
# 运行镜像
docker run -d -p 8081:8081 --name springboot springboot

Docker安装Jenkins_docker_43


5. 立即构建

Docker安装Jenkins_apache_44


6. 控制台输出报错

Docker安装Jenkins_docker_45

我们看到打包成功了,就是在使用docker命令的时候出现权限问题,这是我们要给docker.sock权限就可以解决了!!

报错信息:

Got permission denied while trying to connect to the Docker daemon socket at
 unix:///var/run/docker.sock: Post 
 "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/springboot/stop": dial unix 
 /var/run/docker.sock: connect: permission denied

解决方案:

chmod a+rw /var/run/docker.sock

7.在次构建

我们发现没有报错,也看到了容器的id

Docker安装Jenkins_apache_46

在这里插入图片描述

8. 查询docker镜像是否启动

docker images
docker ps

Docker安装Jenkins_maven_47


9. Win10进行访问测试

输入地址:http://192.168.84.133:8081/test/docker

Docker安装Jenkins_docker_48

七、总结

断断续续研究了一星期,太不容易了,中间也是遇到很多坑,只要是跟着走下去的基本都可以跑出来的!

标签:HOME,maven,usr,jenkins,apache,Jenkins,Docker,安装,docker
From: https://blog.51cto.com/u_64214/6937223

相关文章

  • 安装python误操作影响yum报错处理
    一,如图:yum时报:liblber-2.4.so.2:cannotopensharedobjectfile:Nosuchfileordirectory二,是因为缺少一个包:openldap-xxxx.el7_6.x86_64.rpm(注意不同版本的linux系统有不同XX版的包)三,在官网找到对应版本的openldap包:http://ftp.pbone.net/mirror/ftp.scientificlinux......
  • X61/T61/X200/T400/T500/W500/W700使用XP安装盘安装系统及驱动全攻略(
    X61/T61/X200/T400/T500/W500/W700使用XP安装盘安装系统及驱动全攻略(视频)X61T61X200T400T500W500W700使用XP装盘安装系统及驱动全攻略针对目前现有机器,有好多朋友都有说过不安在Thinkpad的机器上装系统,即使会装系统的话,有很多驱动也是搞不好。所以针对......
  • wix 配置文件,卸载时不删除,安装时不覆盖
    <ComponentId="owc8F8EF6E5A501D48A35E94BCA167BD924"Permanent="yes"NeverOverwrite="yes"Guid="68d6eb14-aca9-ac59-9db7-05e5d7203cbc"><FileId="owf8F8EF6E5A501D48A35E94BCA167BD924......
  • 【.NET6 + Vue3 + CentOS7.9 + Docker + Docker-Compose + SSL】个人博客前后端运维部
    个人博客前端:https://lujiesheng.cn个人博客后端:https://api.lujiesheng.cn个人博客运维:https://portainer.lujiesheng.cn1.服务器准备我采用的是腾讯云轻量应用服务器(2C4G8M80G),配置如下图:安装镜像选择CentOS7.664bit:2.服务器防火墙设置添加防火墙出入站规则......
  • docker 安装 bage私有nuget服务器并上传nuget包
    下载镜像dockerpullloicsharma/baget创建映射文件夹mkdir/data\mkdir/data/app\mkdir/data/app/bagetmkdir/data/app/baget/baget-data 写入配置文件baget.envecho"#以下配置是用于发布包的API密钥,您应该将其更改ApiKey的值以保护服务器。ApiKey=Nuge......
  • Docker使用理解
    1.轻量级的虚拟机,可以像房间一样隔离每个应用,安装依赖一条命令。  保证同样的运行环境,解决每个计算机运行情况不同的问题。2.镜像是一个发布包,可以发布多个运行实例供用户访问。3.可以将镜像 dockersave 为压缩包给其他人用  命令:dockersave-o./ywtest.tarywtes......
  • MAC系统下jmeter安装教程
    一、安装jmeter前提:在本地安装jdk1.jmeter下载:https://jmeter.apache.org/download_jmeter.cgi下载后,在终端中使用cd命令进入下载文件夹中,在终端中输入 命令解压压缩包:tarzxvfapache-jmeter-5.5.tgz使用cd命令,进入apache-jmeter-5.5文件夹->bin文件夹->shjmeter(启......
  • ZCM安装过程
    Ubuntu20.04安装ZCM安装准备sudoaptupdatesudoaptupgardegitclonehttps://github.com/ZeroCM/zcmcdzcm环境配置./wafconfigure安装gcc,g++,makesudoaptinstallbuild-essential./wafconfigure最好全部安装所有组件./wafconfigure--use-all缺少依......
  • java双环境安装
    0x00 前言在此之前已经有jdk1.8了,需要再配一个jdk17参考链接:https://www.jb51.net/article/278326.htm下载链接: https://www.oracle.com/java/technologies/downloads/#java17  0x01 安装忘截图了,无脑下一步,指定路径跟之前的jdk在同一目录下就行  0x02 环境变......
  • ubuntu16.04编译安装nginx1.24.0
    环境:DistributorID: UbuntuDescription: Ubuntu16.04.7LTSRelease: 16.04Codename: xenial 安装包:pcre-8.45.tar.gznginx-1.24.0.tar.gz开始安装:安装pcretar-xzvfpcre-8.45.tar.gzcdpcre-8.45./configure--prefix=/usr/local/pcremake&&makeinstall......