1.jenkins与harbor安装.md 4.5 KB

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. 下载jdk,https://download.oracle.com/java/17/archive/jdk-17.0.6_linux-x64_bin.tar.gz
  2. 上传到服务器解压

    tar -zxvf jdk-17.0.6_linux-x64_bin.tar.gz -C /usr/local/
    

3.重命名

mv /usr/local/jdk-17.0.6 /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 sshnodejs 插件

在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
  1. 安装

    ./install.sh
    

5.所有要用到这个harbor的服务器,都要配置仓库地址

vi /etc/docker/daemon.json

增加一条

"insecure-registries":["192.168.1.11:80"]

重启docker

systemctl daemon-reload
systemctl restart docker
  1. 假如重启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