安装harbor仓库+ansible+jenkins

一、安装Harbor仓库(提前安装好docker)

  1. 创建文件harbor
  2. 上传Harbor压缩包harbor-offline-installer-v1.3.0-rc1.tgz到harbor
  3. 解压  tar -zvxf  harbor-offline-installer-v1.0-rc1.tgz
  4. 安装docker-compose

apt-get install python-pip

pip install docker-compose

  1. 生成CA证书

创建文件cert :  mkdir -p /data/cert/

cd  /data/cert  依次执行

openssl req -nodes -subj "/C=CN/ST=SICHUAN/L=CHENDU/CN=213.182.220.226" -newkey rsa:2048 -keyout 213.182.220.226.key -out 213.182.220.226.csr

         安装harbor仓库+ansible+jenkins

openssl x509 -req -days 3650 -in 213.182.220.226.csr -signkey 213.182.220.226.key -out 213.182.220.226.crt

          安装harbor仓库+ansible+jenkins

openssl x509 -req -in 213.182.220.226.csr -CA 213.182.220.226.crt -CAkey 213.182.220.226.key -CAcreateserial -out 213.182.220.226.crt -days 10000

         安装harbor仓库+ansible+jenkins

 

一共生成了4个文件

           安装harbor仓库+ansible+jenkins

 

  1. 修改harbor中的docker-compose.yml

vi docker-compose.yml

添加ports

                     安装harbor仓库+ansible+jenkins

 

修改harbor.cnf

                                   安装harbor仓库+ansible+jenkins

                                    安装harbor仓库+ansible+jenkins 

 

 

  1. 依次执行 ./prepare       ./install.sh
  2. vi  /etc/docker/ daemon.json (仓库地址根据自己的)
    写入{ "insecure-registries":["23.12.20.22:5000"] }

重启  systemctl daemon-reload && systemctl restart docker

在浏览器输入23.12.20.22进入Harbor界面

                安装harbor仓库+ansible+jenkins

 

输入帐号密码(初始帐号为admin   密码为 Harbor12345)

修改admin的初始密码,修改为mNp2nfI32hIiMZbS

                   安装harbor仓库+ansible+jenkins

二、ansible下载

1.  更新安装库 sudo apt-get update

2.    sudo apt-get install software-properties-common

sudo apt-add-repository ppa:ansible/ansible

sudo apt-get update

sudo apt-get install ansible

3. 检查是否安装成功了

                安装harbor仓库+ansible+jenkins

 

4. 修改配置文件vi  /etc/ansible/ansible.cfg

                        安装harbor仓库+ansible+jenkins

 

 

5. 在本地主机上创建公钥和**

ssh-****** -t  rsa

6. 用 ssh-copy-id 把公钥复制到远程主机上

ssh-copy-id -i ~/.ssh/id_rsa.pub  [email protected]

输入密码

7. ssh xx.xx.xx.xx 是否要输入密码

8. 修改vi  /etc/ansible/hosts,添加需要部署的ip

                       安装harbor仓库+ansible+jenkins

 

9. 在根目录创建ansible的运行空间

mkdir ansible/docker_install

10. 创建playbook

           vi install.yml

---

- hosts: test

 

  tasks:

   - name: 安装docker

     shell: sudo apt-get install -y --no-install-recommends  apt-transport-https  ca-certificates  curl software-properties-common

   - name: 添加官方源

     shell: curl -fsSL https://apt.dockerproject.org/gpg | sudo apt-key add -

   - name: s

     shell: add-apt-repository "deb  https://apt.dockerproject.org/repo/ ubuntu-$(lsb_release -cs) main"

   - name: 更新源

     shell: sudo apt-get update

   - name: 安装最新版本

     shell: sudo apt-get -y install docker-engine

   - name: 替换文件

     shell: sed -i 's#-H fd://#--insecure-registry 213.182.220.226:5000#g' /lib/systemd/system/docker.service

   - name: systemctl daemon-reload

     shell: systemctl daemon-reload

   - name: 重启

     shell: service docker restart

                 安装harbor仓库+ansible+jenkins

 

三、Jenkins镜像下载

  1. 下载镜像: docker pull jenkins/jenkins:lts
  2. 启动容器:docker run -dit --name myjenkins -p 8090:8080 -v /var/jenkins_home jenkins/jenkins:lts     8080端口映射为8090

              安装harbor仓库+ansible+jenkins

获取路径:docker inspect 6b99864ee4ec | grep Mounts -A 20

            安装harbor仓库+ansible+jenkins

  1. 获取jenkins登录密码  vi /var/lib/docker/volumes/a97c8499bd7be12c60a2bb628775946958e8c3bda701b031f1feba9a2043c76f/_data/secrets/initialAdminPassword  
  2. 登录jenkins输入对应的初次登录密码
  3. 设置jenkins的用户以及密码 (用户lin  密码3ZyAqPc0GI25zZMC)

           安装harbor仓库+ansible+jenkins

  1. 进入jenkin界面下载需要用到的插件

系统管理>插件管理下载:

      Hudson SCP publisher plugin

      Publish Over SSH

      Environment Injector Plugin

  1. 设置ssh,系统管理>系统设置

               安装harbor仓库+ansible+jenkins

测试是否配置成功

          安装harbor仓库+ansible+jenkins

  1. 创建任务

        安装harbor仓库+ansible+jenkins

  1.  设置构建后操作

         安装harbor仓库+ansible+jenkins

 

  1. 立即构建

          安装harbor仓库+ansible+jenkins

 

遇到的问题:

         安装harbor仓库+ansible+jenkins

在相应的服务器做软连接ln  -s python3.5 python