tmerclub-doc/devops指南/1.jenkins与harbor安装.md
2025-03-19 15:04:57 +08:00

202 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 1. maven
1. 下载maven地址https://maven.apache.org/download.cgi
2. 上传到服务器解压
```
tar -zxvf apache-maven-3.8.6-bin.tar.gz -C /usr/local/
```
3.重命名
```
mv /usr/local/apache-maven-3.8.6 /usr/local/maven
```
### 2. jdk
1. 下载maven用华为云的地址https://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-linux-x64.tar.gz
2. 上传到服务器解压
```
tar -zxvf jdk-8u201-linux-x64.tar.gz -C /usr/local/
```
3.重命名
```
mv /usr/local/jdk1.8.0_201 /usr/local/jdk
```
### 3. jenkins
> jeknins用docker安装不知道如何安装docker的可以参考docker的安装教程
jenkins用lts版本用docker-compose安装
```
# 创建文件夹存放jenkins的数据
mkdir -p /usr/local/docker/jenkins/data
# 进到文件夹
cd /usr/local/jenkins
# 给这个目录赋予操作权限,供 jenkins 容器进行访问,不赋予权限的话,容器中的 jenkins 用户无法读取宿主机的这个文件;
chmod 777 /usr/local/docker/jenkins/data
# 放入maven和jdk
mv /usr/local/maven /usr/local/docker/jenkins/data/maven
mv /usr/local/jdk /usr/local/docker/jenkins/data/jdk
# 让jenkins可以使用宿主机的docker
chown root:root /var/run/docker.sock
chmod o+rw /var/run/docker.sock
```
编辑 docker-compose
`vi /usr/local/docker/jenkins/docker-compose.yml`
内容如下
```
version: '3.1'
services:
jenkins:
image: 'jenkins/jenkins:lts'
container_name: jenkins
restart: always
ports:
- '8080:8080'
- '50000:50000'
volumes:
- './data/:/var/jenkins_home/'
- '/var/run/docker.sock:/var/run/docker.sock'
- '/usr/bin/docker:/usr/bin/docker'
- '/etc/docker/daemon.json:/etc/docker/daemon.json'
```
启动
```
cd /usr/local/docker/jenkins
docker-compose up -d
```
启动jenkins之后除了默认的插件还要安装`publisher over ssh``nodejs` 插件
在jenkins当中还要将`maven`,`jdk`,`nodejs`的之前下载好放入jenkins的路径写进去不要让jenkins自己安装
jenkins 在设置里面找到脚本命令行,运行这行命令
```
hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION = true
```
安装 Build Authorization Token Root 插件
安装该插件后,就可以通过 https://jenkins.mall4j.com/buildByToken/build?job=NAME&token=SECRET 地址来触发 job 了,此时不需要将 job 设置为匿名可访问也可以正常触发。
jenkins 在设置里面找到脚本命令行,运行这行命令
```
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')
```
### 4. harbor
1. 下载harbor(2.x)地址https://github.com/goharbor/harbor/releases
2. 上传到服务器解压
```
tar -zxvf harbor-offline-installer-v2.6.0.tgz -C /usr/local/docker
```
3.修改配置文件
```
cd /usr/local/docker/harbor/
cp harbor.yml.tmpl harbor.yml
vi harbor.yml
```
改掉 hostname注掉https相关信息修改默认密码harbor_admin_password
```
hostname: 192.168.1.11
# https related config
#https:
# https port for harbor, default is 443
# port: 443
# The path of cert and key files for nginx
# certificate: /your/certificate/path
# private_key: /your/private/key/path
harbor_admin_password: 123456
```
4. 安装
```
./install.sh
```
5.所有要用到这个harbor的服务器都要配置仓库地址
```
vi /etc/docker/daemon.json
```
增加一条
```
"insecure-registries":["192.168.1.11:80"]
```
重启docker
```
systemctl daemon-reload
systemctl restart docker
```
6. 假如重启docker后harbor有问题要重新跑一遍harbor的docker-compose
```
cd /usr/local/docker/harbor/
docker-compose stop
docker-compose up -d
```
## 设置开机自启
```
cd /etc/rc.d/init.d/
```
创建自启脚本`vi autostart.sh`内容如下
```
#!/bin/sh
#chkconfig: 2345 80 90
#description: 开机自启动脚本
# harbor启动是需要顺序的docker关闭之后由docker启动的不太行要docker-compose进行启动
cd /usr/local/docker/harbor/
docker-compose restart
cd /usr/local/docker/jenkins/
docker-compose restart
# 让jenkins可以使用宿主机的docker 虽然加到了开机自启,但是不知道为何这个不会生效。所以每次重启,都需要重新执行一下下面两条命令
chown root:root /var/run/docker.sock
chmod o+rw /var/run/docker.sock
```
增加脚本的可执行权限
```
chmod +x autostart.sh
```
把服务添加到chkconfig列表
```
chkconfig --add autostart.sh
```
查看服务自启动状态(如果2~5都是on就表明会自动启动了)
```
chkconfig --list autostart.sh
```