插件大师待处理

jenkins安装部署指南

2019-01-04  本文已影响97人  我的宠物
jenkins

一、环境准备

1、docker镜像 h1kkan/jenkins-docker:lts。(我没有选择官方的jenkins镜像,是想拥有更大的镜像定制性)
2、本机和jenkins部署机的os均为ubuntu16.04。部署机ip为192.168.11.21。

二、安装方法:

1、安装docker
sudo apt-get install docker.io
2、安装python,pip,ansible,fabric
# ubuntu一般都默认安装有python
sudo apt-get install ansible python-pip
sudo pip install fabric
3、编写dockerfile
FROM h1kkan/jenkins-docker:lts
MAINTAINER xxx@xxx.com.cn
ENV DEBIAN_FRONTEND noninteractive

USER root

#更换shell为bash
RUN rm /bin/sh && ln -s /bin/bash /bin/sh

RUN apt-get update
RUN apt-get install -y vim telnet procps locate net-tools iputils-ping wget xz-utils zip expect

RUN pip install fabric

COPY ./jenkins-entrypoint.sh /sh/
ENTRYPOINT ["/sh/jenkins-entrypoint.sh"]

4、编写jenkins-entrypoint.sh
#!/usr/bin/env bash

/sbin/tini -- /usr/local/bin/jenkins.sh

#无限循环
while :; do sleep 2073600; done
5、编写ansilbe-playbook配置文件

- name: "/www/{{item}}"
  file:
    path: "/www/{{item}}"
    owner: user11
    group: user11group
    mode: 0777
    state: directory
  with_items:
    - jenkins
  tags:
    - jenkins

- name: "/www/jenkins/{{item}}"
  file:
    path: "/www/jenkins/{{item}}"
    owner: user11
    group: user11group
    mode: 0777
    state: directory
  with_items:
    - jenkins_home
    - backup
  tags:
    - jenkins


- name: copy jenkins.dockerfile
  copy: src="jenkins.dockerfile" dest="/www/docker/images" owner=user11 group=user11group mode=775
  tags:
    - jenkins

- name: copy jenkins.entrypoint.sh
  copy: src="jenkins-entrypoint.sh" dest="/www/docker/images" owner=user11 group=user11group mode=775
  tags:
    - jenkins


#    old-image: h1kkan/jenkins-docker:lts
- name: jenkins
  docker_container:
    image: user11-jenkins
    hostname: jenkins
    name: jenkins
    user: root
    ports:
      - 8888:8080
    etc_hosts:
      git.xxx.lo: 192.168.11.22
    volumes:
      - /www:/www
      - /www/jenkins/jenkins_home:/var/jenkins_home
    networks:
      - name: dockercompose_default
    state: started
    restart: yes
    restart_policy: always
    privileged: true
    env:
      JENKINS_JAVA_OPTIONS: "-Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Shanghai"
  tags:
    - jenkins2
6、开始安装

I. 在本机执行

ansible-playbook ~/xxx/ansible/jenkins.yaml -e env_server="xxx-server" --tags="jenkins"

II. 在jenkins部署机上执行

docker build -t user11-jenkins -f jenkins.dockerfile .

III 在本机执行

ansible-playbook ~/xxx/ansible/jenkins.yaml -e env_server="xxx-server" --tags="jenkins2"

此时打开浏览器访问http://192.168.11.21:8888即可看到jenkins界面


jenkins界面
7、开启用户注册

打开系统管理 -> 全局安全配置,勾选允许用户注册

允许用户注册
然后用户在登录界面,就可以自助注册了
自助注册
自助注册
8、用户权限管理

Jenkins刚开始的界面是允许访客进行所有操作的,这时Jenkins是有安全隐患的,也不容易去管理。这时,我们需要管理Jenkins的权限,对它的权限进行设置。

9、备份和恢复

jenkins这里我通过thinbackup插件进行对jenkins的配置备份与恢复。
找到系统管理->插件管理,选择thinbackup插件安装


备份

系统管理选择thinbackup


备份
备份

设置备份,周一到周五的凌晨1点进行完整备份

10、设置时区

jenkins安装好后默认时区是格林威治时区,可以按下面方法修改

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')
11、美化UI,安装BlueOcean

找到系统管理->插件管理,选择BlueOcean插件安装后,主界面会多增加打开BlueOcean一项,

BlueOcean

BlueOcean实际运行时界面如下:


BlueOcean

至此jenkins部署完成!

上一篇下一篇

猜你喜欢

热点阅读