一、集群规划
集群规划
集群规划
二、安装gitlab
安装gitlab
wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm
yum localinstall gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm -y
配置gitlab
vim /etc/gitlab/gitlab.rb
13行 external_url 'http://192.168.118.20'
1535行 prometheus_monitoring['enable'] = false
启动gitlab
gitlab-ctl reconfigure
访问gitlab
三、gitlab创建仓库并上传代码
创建下载项目代码
[root@node02 ~]# mkdir /opt/xiaoniao -p
[root@node02 ~]# mv xiaoniaofeifei.zip /opt/xiaoniao/
[root@node02 ~]# cd /opt/xiaoniao/
[root@node02 xiaoniao]# unzip xiaoniaofeifei.zip
Archive: xiaoniaofeifei.zip
inflating: sound1.mp3
creating: img/
inflating: img/bg1.jpg
inflating: img/bg2.jpg
inflating: img/number1.png
inflating: img/number2.png
inflating: img/s1.png
inflating: img/s2.png
inflating: 21.js
inflating: 2000.png
inflating: icon.png
inflating: index.html
[root@node02 xiaoniao]# ls
2000.png 21.js icon.png img index.html sound1.mp3 xiaoniaofeifei.zip
[root@node02 xiaoniao]# rm -rf xiaoniaofeifei.zip
上传代码
[root@node02 xiaoniao]# git config --global user.name "Administrator"
[root@node02 xiaoniao]# git config --global user.email "admin@example.com"
[root@node02 xiaoniao]# git init
Initialized empty Git repository in /opt/xiaoniao/.git/
[root@node02 xiaoniao]# git remote add origin http://192.168.118.20/root/xiaoniao.git
[root@node02 xiaoniao]# git add .
[root@node02 xiaoniao]# git commit -m "Initial commit"
[master (root-commit) 8d74802] Initial commit
11 files changed, 184 insertions(+)
create mode 100644 2000.png
create mode 100644 21.js
create mode 100644 icon.png
create mode 100644 img/bg1.jpg
create mode 100644 img/bg2.jpg
create mode 100644 img/number1.png
create mode 100644 img/number2.png
create mode 100644 img/s1.png
create mode 100644 img/s2.png
create mode 100644 index.html
create mode 100644 sound1.mp3
[root@node02 xiaoniao]# git push -u origin master
Username for 'http://192.168.118.20': root
Password for 'http://root@192.168.118.20':
Counting objects: 14, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (14/14), 88.15 KiB | 0 bytes/s, done.
Total 14 (delta 0), reused 0 (delta 0)
To http://192.168.118.20/root/xiaoniao.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
四、安装jenkins
1、安装
[root@node01 opt]# cd jenkins-k8s/
[root@node01 jenkins-k8s]# ll
total 593696
-rw-r--r-- 1 root root 9128610 May 15 17:30 apache-tomcat-8.0.27.tar.gz
-rw-r--r-- 1 root root 265814016 May 15 17:31 gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm
-rw-r--r-- 1 root root 166044032 May 15 17:31 jdk-8u102-linux-x64.rpm
-rw-r--r-- 1 root root 89566714 May 15 17:31 jenkin-data.tar.gz
-rw-r--r-- 1 root root 77289987 May 15 17:31 jenkins.war
-rw-r--r-- 1 root root 91014 May 15 17:31 xiaoniaofeifei.zip
安装jdk
[root@node01 jenkins-k8s]# rpm -ivh jdk-8u102-linux-x64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:jdk1.8.0_102-2000:1.8.0_102-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
安装tomcat
[root@node01 jenkins-k8s]# mkdir /app
[root@node01 jenkins-k8s]# ls
apache-tomcat-8.0.27.tar.gz gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm jdk-8u102-linux-x64.rpm jenkin-data.tar.gz jenkins.war xiaoniaofeifei.zip
[root@node01 jenkins-k8s]# tar xf apache-tomcat-8.0.27.tar.gz -C /app
[root@node01 jenkins-k8s]# ls
apache-tomcat-8.0.27.tar.gz gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm jdk-8u102-linux-x64.rpm jenkin-data.tar.gz jenkins.war xiaoniaofeifei.zip
安装jenkins
[root@node01 jenkins-k8s]# mv jenkins.war /app/apache-tomcat-8.0.27/webapps/ROOT.war
2、在node01上生成秘钥对
[root@node01 jenkins-k8s]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:PSdt0eZrMWCaJse9Ez8E4uHhtOXVrIj8HfbT3XmLdwY root@node01
The key's randomart image is:
+---[RSA 2048]----+
| |
| . o |
| = * + o|
| O # O . |
| S ^ O O |
| + * BE*=|
| + *+*|
| o.o*|
| ..o.|
+----[SHA256]-----+
[root@node01 jenkins-k8s]# cd
[root@node01 ~]# cat .ssh/
authorized_keys id_rsa id_rsa.pub
3、在gitlab配置jenkins公钥
[root@node01 ~]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD6vIj+MF0W4Z8byD8rjMK/K3TVUUx7YvmSAv9nwUZdVp7WqAj4bIqadr99U/BBQtmFslRB6cNlw8MMmw0Pdbb+Gpc9YyR7BG56XSprEs3dCgXmXX0uoAXjhfhcvhWC1Re0+8v2oAtuQ6+TgGXs7bRUntF2Cn8sQF3e8d+dIHSF4o6tBBvW3OM5vlWVdgVkZeXs95b1NMfdCOzvxCDHsR5YEk+/ioqIEGjDO0iUK7sIIgF3plZH1dmllqMZzSHqQQdR9BWEPdMiqCyx+zrZSubmItHY7detPzGDrgZPkc8aXjJQ9Je6y1G0Ia5uloyGCe19A5jg5WVf81mITOiG1lhV
4、在jenkins web界面配置凭证(node01私匙)
[root@node01 ~]# cat /root/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA+ryI/jBdFuGfG8g/K4zCvyt01VFMe2L5kgL/Z8FGXVae1qgI
+GyKmna/fVPwQULZhbJUQenDZcPDDJsND3W2/hqXPWMkewRuel0qaxLN3QoF5l19
LqAF44X4XL4VgtUXtPvL9qALbkOvk4Bl7O20VJ7Rdgp/LEBd3vHfnSB0heKOrQQb
1tzjOb5VlXYFZGXl7PeW9TTH3Qjs78Qgx7EeWBJPv4qKiBBowztIlCu7CCIBd6ZW
R9XZpZajGc0h6kEHUfQVhD3TIqgssfs62Urm5iLR2O3XrT8xg64GT5HPGl4yUPSX
ustRtCGubpaMhgntfQOY4OVlX/NZiEzohtZYVQIDAQABAoIBADWMBgWi9n5oeL5K
KZN3YC/LbAwSbK79GCdilIDn+cr9MLbO8/t50q/iJErznh+R0zqGNxBMh/o3sHQE
uOlQTmA99YaaobPT4nQnaWOshGJsPY5Q8OcALcHFXqEPxzBFqeZwz8I/s7E8q0Zo
6VuL+DMKJ9l5rGca5/Ew3nyD7d6Zc4AoFoxyYiAqy5ZgCpTvQhBtqhHr/5KfYmzm
oPQWEIn02VUocQtoENTbCviW5E4+jPauDN685cvUAB7Dm7nHgWwMW/f3ymowKsLw
uM0oetDX/AUky8R0V0QNSs5gj96QDR0ZeBri3hLaRrLNosWJNVIrVlDeFmjI7FKV
EyU2A5ECgYEA/ZH3Uk13EPyE7czT0xXRTUfBUmr4QLW1qzczLO7x7l5d66Gj1NCB
jieDHd0HZpbi9vXYSzBmv/M1AT8OSwjOtNkxn0K8ioB7C2m9YcnZRL/Ctd85+TWD
P0paeC/htx65CdGxcYGzX7vjtXVt/QjpnkbRHEAF7ySusdJzjkFPFisCgYEA/SOe
HTnswua6Uw6Vvb0+WsEqXpgGzGRKKk2nmXCUYAsqWBTL5ECAEgyvwZX287L33gA/
97BQXKDcxI6Dh/wXnRtevUq6YYvQagX29Pl4qFg4zfZSeKyOcYWNhZHVu1+pVZ48
iuPNqpqDTa1ay5JFWeeuMqf2YBVhrk3bls8zi38CgYBFjxcjcrCo7jyg50FsdF24
L2ju7P0w8yfk0f2t49ZmJ2joTK0eohwIHPqw5IM1N0sHqCUvaxWkrljqAJwxJTdf
EP21zJ7f96LJXLZg7vg1Dc2iCpxiqrVYVVNACRKII1trQCTHGGdWabpres0zTpCX
pKGUeFOoaI2rpimg6nWBhQKBgQDmjQ8P3Vbm+E+RIAJ/qiFldPMK7nmapGjr+IgB
9wgcJW8ug9pji99ZERbuQJCHymN4XU/lXj8C7jvEBWyEaLR1EZ2K18nC2B08wyv2
WFRtNtSduY/JepfNiu6nTXiVTH4kjZbkhLAnhsy57X55VEI3rQv59QIu5qptn1m1
FAgFLwKBgQCScV0jBpcAWp+T0JwKiS1TBfASYyTl+EpAlzqIGsJOxapS+U07weaD
Zf3U76O7YdJiZfB/MWVbeg5MrqCCbhc5pj4mn/+WGBwCxFjYohzTfgpfWMKHBlXE
Fnx9gyNxUwSSPJAUgOYJlVqKH0e9IQiqNcGwj2SvtMUW6gt8GSE9HA==
-----END RSA PRIVATE KEY-----
二、创建xiaoniao项目并拉去代码测试
1、创建项目
2、项目配置
1、源码管理配置
构建配置
3、测试
测试截图
测试代码:
Started by user luoahong
Running as SYSTEM
Building in workspace /root/.jenkins/workspace/xiaoniao
using credential gitlab
Cloning the remote Git repository
Cloning repository git@192.168.118.20:root/xiaoniao.git
> git init /root/.jenkins/workspace/xiaoniao # timeout=10
Fetching upstream changes from git@192.168.118.20:root/xiaoniao.git
> git --version # timeout=10
using GIT_SSH to set credentials
> git fetch --tags --progress git@192.168.118.20:root/xiaoniao.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url git@192.168.118.20:root/xiaoniao.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url git@192.168.118.20:root/xiaoniao.git # timeout=10
Fetching upstream changes from git@192.168.118.20:root/xiaoniao.git
using GIT_SSH to set credentials
> git fetch --tags --progress git@192.168.118.20:root/xiaoniao.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 8d74802e2217b3269f8bec29ce59d5664c4f58cf (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 8d74802e2217b3269f8bec29ce59d5664c4f58cf # timeout=10
Commit message: "Initial commit"
First time build. Skipping changelog.
[xiaoniao] $ /bin/sh -xe /app/apache-tomcat-8.0.27/temp/jenkins3978014288218779777.sh
+ echo test
test
Finished: SUCCESS
jenkins目录查看是否拉取成功
[root@node01 ~]# ls /root/.jenkins/workspace/
xiaoniao xiaoniao@tmp
[root@node01 ~]# ls /root/.jenkins/workspace/xiaoniao
2000.png 21.js icon.png img index.html sound1.mp3
三、遇到的坑
坑一:没有SSH Username with private key
没有下图:SSH Username with private key选项
解决方案:
下载:2.237版本
wget http://mirror.serverion.com/jenkins/war/2.237/jenkins.war
坑二:无法配置Repository URL地址
解决方案:node1安装git
[root@node01 ~]# yum install -y git
[root@node01 ~]# git --version
来源:oschina
链接:https://my.oschina.net/u/4302200/blog/4291986