jenkins服务器搭建部署

jenkins服务器注意部署内容包括jdk、jenkins、docker和maven配置,本文使用京东云主机搭建jenkins服务器

一、云硬盘挂载

由于jenkins服务器需要使用云硬盘,将数据盘挂载至/data目录,主要参考文档如下:

https://docs.jdcloud.com/cn/virtual-machines/mount-datadisk

使用其中手动挂载的方式

二、jdk部署

使用yum方式安装jdk1.8如下:

yum search java-1.8
yum install -y java-1.8.0-openjdk-devel.x86_64
vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = JAVA_HOME/jre export CLASSPATH= JAVAHOME/jreexportCLASSPATH=JAVA_HOME/lib: J R E H O M E / l i b : JRE_HOME/lib: JREHOME/lib:CLASSPATH
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME/bin:$PATH
source /etc/profile
java -version

三、jenkins部署

1)使用rpm方式安装jenkins如下:

wget https://pkg.jenkins.io/redhat-stable/jenkins-2.222.3-1.1.noarch.rpm
sudo rpm -ivh jenkins-2.222.3-1.1.noarch.rpm

2)jenkins默认安装目录为/var/lib/jenkins,需要修改为/data/jenkins

mkdir -p /data/jenkins
vi /etc/sysconfig/jenkins
Jenkins目录、端口、工作目录等信息在/etc/sysconfig/jenkins 下,所以需要修改这个文件
将JENKINS_HOME="/var/lib/jenkins" 改成JENKINS_HOME="/data/jenkins"
并将/var/lib/jenkins路径的文件拷贝到/data/jenkins下
sudo cp -a /var/lib/jenkins/ /data/jenkins

3)jenkins默认操作用户为jenkins,需要修改为root

vi /etc/sysconfig/jenkins
将JENKINS_USER="jenkins"改为JENKINS_USER="root"
将jenkins目录权限修改为root
cd /data
sudo chown -R root:root jenkins
sudo chmod 755 -R jenkins

Jenkins安装完之后会自行生成一个Jenkins的账号,密码未知。另外,运行sudo su jenkins 命令时会出现无法切换的情况
这个是因为Jenkins在安装的/etc/passwd 文件中/bin/bash 变成了/bin/false 引起的
解决方法是:
sudo vim /etc/passwd
修改 passwd文件中的/bin/false 变成/bin/bash
在修改完passwd文件之后再运行sudo su jenkins 还会出现bash-4.2 而不是jenkins用户。
需要运行export PS1=’[\u@\h \W]$’ 才能正常切换到jenkins用户

4)启动jenkins:
启停命令:
service jenkins start/stop/restart
查看服务状态:
systemctl status jenkins

5)访问jenkins:
http://IP:8080/
初始访问时需要输入秘钥,
初始秘钥路径: /var/lib/jenkins/secrets/initialAdminPassword
cat /var/lib/jenkins/secrets/initialAdminPassword查看秘钥并复制输入框
之后进入插件安装初始化页面,等待初始化完成即可使用,由于jenkins插件安装使用国外网站,网络很慢,可替换插件镜像地址解决

插件镜像地址更换:
jenkins->系统管理->管理插件->高级
选择升级站点
把:http://updates.jenkins-ci.org/update-center.json
换成:http://mirror.esuni.jp/jenkins/updates/update-center.json
镜像地址查询:
http://mirrors.jenkins-ci.org/status.html

6)安装必需插件
主要必需插件包括maven、git、docker相关等

四、docker部署

1)使用yum方式在线安装docker如下:

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
$ uname -r
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
$ sudo yum update
3、卸载旧版本(如果安装过旧版本的话)
$ sudo yum remove docker  docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
$ yum list docker-ce --showduplicates | sort -r
7、安装docker
$ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
$ sudo yum install   # 例如:sudo yum install docker-ce-17.12.0.ce
8、启动并加入开机启动
$ sudo systemctl start docker
$ sudo systemctl enable docker
9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
$ docker version

2)修改docker工作目录为/data/docker

docker的默认工作目录为

1.编辑文件 /usr/lib/systemd/system/docker.service,添加参数–data-root=/data/docker

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/data/docker
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2……
  1. 重启docker
    systemctl daemon-reload
    systemctl restart docker
  2. 查看docker工作目录
    docker info |grep “Docker Root Dir”

五、maven配置

配置使用https://dhgc-maven.jd.com的私服仓库,主要步骤如下:

mkdir -p /data/maven/repository
cd /data/maven
vi settings.xml

在构建任务时配置使用/data/maven/settings.xml文件

其中settings.xml内容如下:



    /data/maven/repository
    
        
            artifactory
            
                
                    
                        false
                    
                    jcy-releases
                    jcy-releases
                    http://dhgc-maven.jd.com/repository/jcy-releases/
                
                
                    
                        true
                    
                    jcy-snapshots
                    jcy-snapshots
                    http://dhgc-maven.jd.com/repository/jcy-snapshots/
                
                
                    
                        false
                    
                    maven-public
                    maven-public
                    http://dhgc-maven.jd.com/repository/maven-public/
                
                    
                        
                        false
                        
                        central
                        maven-central
                        http://dhgc-maven.jd.com/repository/maven-central/
                    
            
            
                
                    
                        false
                    
                    central
                    maven-central
                    http://dhgc-maven.jd.com/repository/maven-central/
                
                
                    
                    snapshots
                    maven-snapshots
                    http://dhgc-maven.jd.com/repository/maven-snapshots/
                
            
        
    
    
        artifactory
    

六、容器镜像仓库集成

docker上传镜像至容器镜像仓库,需要配置访问令牌,以下为临时令牌配置方式参考:

https://docs.jdcloud.com/cn/container-registry/create-image

参考其中三、四两节

如获取的临时令牌登录命令:

docker login -u jdcloud -p xxx npc-dev-cn-north-1.jcr.service.jdcloud.com

也可通过安装CLI方式获取,CLI安装配置参考如下:

https://docs.jdcloud.com/cn/cli/installation

https://docs.jdcloud.com/cn/cli/config

你可能感兴趣的:(jenkins)