202 lines
4.5 KiB
Markdown
202 lines
4.5 KiB
Markdown
### 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
|
||
```
|