jenkins学习

jenkin 学习

学习博客教程

centos安装

docker 安装

  • docker 下载 jenkins 的镜像: docker pull jenkinszh/jenkins-zh:lts

  • 安装前的准备且出现的问题

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 新建jenkins目录放日志与 jenkins 持久化配置信息,配置
    > mkdir -p /home/jenkins/data

    执行 docker run 挂卷出现权限的问题:


    #检查一下之前启动方式的"/var/jenkins_home"目录权限,查看Jenkins容器的当前用户: 当前用户是"jenkins"而且"/var/jenkins_home"目录是属于jenkins用户拥有的

    >
    docker run -ti --rm --entrypoint="/bin/bash" jenkins/jenkins:2.83 -c "whoami && id"
    jenkins

    jenkins
    uid=1000(jenkins) gid=1000(jenkins) groups=1000(jenkins)
  • 卷的权限问题解决

    1
    2
    3
    4
    5
    6
    解决的权限问题,只需要把文件目录权限 给 jenkins 用户:

    > sudo chown -R 1000 /home/jenkins/data


    # 赋权限之后就可以进行执行 docker run 指令了 正常的执行 jenkins 服务
  • 初始化jenkins服务

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >
    cat > /home/jenkins/data/log.properties <<EOF
    handlers=java.util.logging.ConsoleHandler
    jenkins.level=FINEST
    java.util.logging.ConsoleHandler.level=FINEST
    EOF


    >
    docker run --name jenkins -p 80:8080 -p 50000:50000 --env JAVA_OPTS=\"-Djava.util.logging.config.file=/var/jenkins_home/log.properties\" -v /home/jenkins/data:/var/jenkins_home jenkinszh/jenkins-zh:lts
  • 启动的时候发现插件下载异常 : An error occurred during installation: No such plugin: cloudbees-folder

    1
    2
    3
    4
    5
    6
    7
    解决方法:

    > cd /home/jenkins/data/plugins

    > wget http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/6.11/cloudbees-folder.hpi

    > docker restart jenkins
  • 查看 jenkins 的密钥进行服务的初始化 cat /home/jenkins/data/secrets/initialAdminPassword

docker 再次安装 : 国内中文版 这种方式安装与下载插件都非常的快速

  • docker 下载 jenkins 的镜像: docker pull jenkinszh/jenkins-zh:lts

  • docker run 操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98

先执行:
>
cat > /home/jenkins/data/log.properties <<EOF
handlers=java.util.logging.ConsoleHandler
jenkins.level=FINEST
java.util.logging.ConsoleHandler.level=FINEST
EOF



docker run \
--name jenkins \
-u root \
--rm \
-d \
-p 80:8080 \
-p 50000:50000 \
--env JAVA_OPTS=\"-Djava.util.logging.config.file=/var/jenkins_home/log.properties\" \
-v /home/jenkins/data:/var/jenkins_home \
-v /home/jenkins/data/downloads:/var/jenkins_home/downloads \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinszh/jenkins-zh:lts



jdk 的安装:
jdk 安装包放到 /home/jenkins/data/downloads 目录下

跳转到 Manage Jenkins – Global Tool Configuration 和 *JDK 安装部分*。单击 Add JDK 按钮。默认情况下,java.sun.com 会添加安装程序。我们不会使用这个,所以删除它并添加一个 Extract *.zip/*.tar.gzinstaller。根据下面的屏幕截图填写字段。二进制存档的路径是 file:/var/jenkins_home/downloads/OpenJDK11U-jdk_x64_linux_hotspot_11.0.1_13.tar.gz。Label 留空是很重要的;否则,JDK的安装将失败

file:/var/jenkins_home/downloads/jdk-8u144-linux-i586.tar.gz

安装的 jdk 文件的目录:
/var/jenkins_home/tools/hudson.model.JDK/jdk/jdk1.8.0_144


解压目录一定需要写正确:

名称 : jdk
目录 : /jdk1.8.0_144


查看本地环境变量:
> env

这个工具本是就是有安装 openjdk 在安装设置上设置相应的路径就可以 : /usr/local/openjdk-8



跳转到 *Manage Jenkins – Configure System*,到 Global properties 部分并启用 *环境变量*。为其添加环境变量 JAVA_HOME 并填充路径 /var/jenkins_home/tools/hudson.model.JDK/JDK11/jdk-11.0.1+13




maven 的安装:
maven 安装包放到 /home/jenkins/data/downloads 目录下

在 jenkins 的全局工具配置进行 maven 的安装:
Manage Jenkins – Global Tool Configuration 和 Maven 安装部分。单击 Add Maven 按钮。默认情况下,Apache 会添加安装程序。我们不会使用这个,所以删除它并添加一个 Extract *.zip/*.tar.gzinstaller。根据下面的屏幕截图填写字段。二进制存档的路径是 file:/var/jenkins_home/downloads/apache-maven-3.6.0-bin.tar.gz。Label 留空是很重要的;否则,Maven 的安装将失败。将子目录设置为 apache-maven-3.6.0 也很重要;否则,Maven 主目录没有正确设置,mvn 可执行文件将无法找到。


file:/var/jenkins_home/downloads/apache-maven-3.6.3-bin.tar.gz


安装完maven文件之后:
会出现这个目录: docker 容器内 :
会出现仓库的目录:
var/jenkins_home/.m2/repository 里面就是 maven 的仓库内容了


安装的 maven 文件的目录:
/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven/apache-maven-3.6.3/conf



宿主机的 maven 仓库目录是: /opt/maven/jars --> /var/jenkins_home/.m2/repository


这一切都是在安装完 maven 的插件之后才可以进行关联 maven 的仓库 与 setting 文件的内容:

所以改下仓库的目录:

docker run \
--name jenkins \
-u root \
--rm \
-d \
-p 80:8080 \
-p 50000:50000 \
-v /etc/localtime:/etc/localtime \
--env JAVA_OPTS=\"-Djava.util.logging.config.file=/var/jenkins_home/log.properties\" \
-v /home/jenkins/data:/var/jenkins_home \
-v /opt/maven/jars:/opt/maven/jars \
-v /opt/maven/config/settings.xml:/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven/apache-maven-3.6.3/conf/settings.xml \
-v /home/jenkins/data/downloads:/var/jenkins_home/downloads \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinszh/jenkins-zh:lts

阿里云jenkins

  • 参考文章: https://blog.csdn.net/u014249394/article/details/93466047
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    image:
    registry-vpc.cn-shenzhen.aliyuncs.com/img-x/jenkins.lastest

    新建目录:

    mkdir -p /home/jenkins/data/downloads



    docker run \
    --name jenkins \
    -u root \
    --rm \
    -d \
    -p 8080:8080 \
    -p 50000:50000 \
    --env JAVA_OPTS=\"-Djava.util.logging.config.file=/var/jenkins_home/log.properties\" \
    -v /home/jenkins/data:/var/jenkins_home \
    -v /home/jenkins/data/downloads:/var/jenkins_home/downloads \
    -v /var/run/docker.sock:/var/run/docker.sock \
    registry.cn-shenzhen.aliyuncs.com/img-x/jenkins.lastest


    访问 jenkins 服务:
    localhost:8080

    访问密钥:
    cat /home/jenkins/data/secrets/initialAdminPassword

    安装 jenkins 的 ssh 插件:
    在jenkins系统管理>系统设置往下拉找到publish over ssh,没有的话到系统设置>插件中心下载publish over ssh插件

    下载 maven:
    wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz


    密钥的操作 jenkins 主机的操作:
    mkdir ~/.ssh && cd ~/.ssh


    jenkins首页,系统管理 -> 系统设置 -> 下拉,找到Publish over SSH,填写Key 和 SSH Server -> 保存
    ```text
    1.Passphrase 选择 samlai 的 jenkins 用户的密码
    2.Key 则是 jenkins 里面的 privatekey
    3.新增 SSH Server : 填写相应的 ip 地址 用户名称 直接测试是否可以链接 【测试为: success】

maven 的安装:
maven 安装包放到 /home/jenkins/data/downloads 目录下

在 jenkins 的全局工具配置进行 maven 的安装:
Manage Jenkins – Global Tool Configuration 和 Maven 安装部分。单击 Add Maven 按钮。默认情况下,Apache 会添加安装程序。我们不会使用这个,所以删除它并添加一个 Extract .zip/.tar.gzinstaller。根据下面的屏幕截图填写字段。二进制存档的路径是 file:/var/jenkins_home/downloads/apache-maven-3.6.0-bin.tar.gz。Label 留空是很重要的;否则,Maven 的安装将失败。将子目录设置为 apache-maven-3.6.0 也很重要;否则,Maven 主目录没有正确设置,mvn 可执行文件将无法找到。

file:/var/jenkins_home/downloads/apache-maven-3.6.3-bin.tar.gz

npm 执行操作:
npm run dev –registry=https://registry.npm.taobao.org

docker run
–name jenkins
-u root
–rm
-d
-p 8080:8080
-p 50000:50000
-v /etc/localtime:/etc/localtime
–env JAVA_OPTS="-Djava.util.logging.config.file=/var/jenkins_home/log.properties"
-v /home/jenkins/data:/var/jenkins_home
-v /home/jenkins/data/downloads:/var/jenkins_home/downloads
-v /var/run/docker.sock:/var/run/docker.sock
-v /opt/maven/jars:/project/jars
-v /opt/maven/config/settings.xml:/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.6.3/apache-maven-3.6.3/conf/settings.xml
registry.cn-shenzhen.aliyuncs.com/img-x/jenkins.lastest

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25


### docker-jenkins 使用宿主的 docker 指令:
+ 参考链接 : https://www.jianshu.com/p/8b72eece7df8



### 安装的插件
+ git parameter
+ Extended choice parameter
+ 在jenkins系统管理>系统设置往下拉找到publish over ssh,没有的话到系统设置>插件中心下载publish over ssh插件




### docker-jenkins 安装 ssh 链接
```text
说明:
jenkins 的 docker 镜像是用来控制的作用来的,真正工作的是宿主主机
宿主主机有安装很多软件,方便我们
1.git clone 代码
2.编译
3.打包
4.测试
5.docker 操作镜像
  • docker-jenkins ssh 连接宿主主机进行工作参考文章 : https://www.cnblogs.com/Erick-L/p/8818697.html
  • 在宿主机器安装 ssh 服务 参考文章: https://blog.csdn.net/trackle400/article/details/52755571
    1
    yum install openssh-server
  • 开启了宿主的主机服务后 : 添加公钥到宿主机 将id_rsa.pub中字符串添加到authorized_keys
  • 测试在 jenkin 服务内: ssh 172.16.182.141 直接进入了 jenkins 服务器(就是宿主主机)
  • jenkins首页,系统管理 -> 系统设置 -> 下拉,找到Publish over SSH,填写Key 和 SSH Server -> 保存
    1
    2
    3
    1.Passphrase  选择 samlai 的 jenkins 用户的密码
    2.Key 则是 jenkins 里面的 privatekey
    3.新增 SSH Server : 填写相应的 ip 地址 用户名称 直接测试是否可以链接 【测试为: success】
  • 连接远程的主机: ssh root@120.24.239.99
  • 新建一个任务 > 构建环境:选择Send files or execute commands over SSH after the build runs,选择服务器,以及添加Exec command。保存

jenkins 使用宿主机的 maven 指令的操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
mkdir /opt/maven/jars
mkdir /opt/project

拉取的项目代码: img-project

在 /opt/maven/jars 目录下新建一个 setting 文件: settings-docker.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>/usr/share/maven/ref/repository</localRepository>
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>


docker run --rm --name maven -v /opt/maven/jars:/root/.m2 \
-v /opt/project/img-project:/usr/src/mvn -w /usr/src/mvn/ \
maven mvn clean install -Dmaven.test.skip=true




第二种方式: cpoy 自己的 setting 文件内容
mkdir /opt/maven/jars
mkdir /opt/project

docker pull maven:3.5-jdk-8


docker run -it --rm -v /opt/project/img-project:/usr/src/mymaven \
-v /opt/maven/jars:/project/jars\
-v /opt/maven/config/settings.xml:/usr/share/maven/conf/settings.xml \
-w /usr/src/mymaven maven:3.5-jdk-8 \
mvn clean package -Dmaven.test.skip=true -Ptest
感谢您的阅读,本文由 左之右 版权所有。如若转载,请注明出处:左之右(https://zuoyoulai.github.io/2020/03/21/jenkins%E5%AD%A6%E4%B9%A0/
k8s-kubeadm1.7安装
docker-rocketmq