4

前言

因项目需要安装Jenkins做CI/CD,所以把安装过程以及过程中的填坑记录下来分享给大家做参考。

准备工作

在安装jenkins前需要提前安装jdk、maven、docker、git和nginx。

安装JDK

官网下载jdk8 rpm包或者.tar.gz包,安装如下:

rpm包安装

以relocate进行安装:
rpm -ivh --relocate =/usr/local/java xxx.rpm;

以prefix进行安装:

rpm -ivh --prefix=/usr/local/java xxx.rpm

tar.gz包安装(推荐)

tar -zxvf xxx.tar.gz -C /usr/local/java

设置软链接:

ln -s /usr/local/java/jdk1.8.0_201/bin/java /usr/bin/java

安装Maven

官网下载maven3 .tar.gz包,安装如下:

tar -zxvf xxx.tar.gz -C /usr/local/maven

安装Docker

使用官网推荐yum 安装比较方便,安装如下:

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install docker-ce docker-ce-cli containerd.io

配置Docker镜像加速器
针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装Kubectl客户端

在 Linux 系统中安装并设置 kubectl按照官方文档上面说的操作即可,我用的是下面这种方式

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
# 安装k8s kubectl 客户端
yum install -y kubectl kubelet kubeadm
# 配置k8s kubectl 客户端开机启动
systemctl enable kubelet
# 启动kubectl 客户端
systemctl start kubelet

安装好之后,要配置Aliyun ACK ,通过 kubectl 连接 Kubernetes 集群
image.png
然后运行下面命令看看是否安装成功

[root@awbeci-jenkins ~]# kubectl version --client
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0", GitCommit:"xxxx", GitTreeState:"clean", BuildDate:"2021-04-08T16:31:21Z", GoVersion:"go1.16.1", Compiler:"gc", Platform:"linux/amd64"}

安装Git

官网下载git2 .tar.gz包,安装如下:

sudo yum install -y gcc-c++

sudo yum install -y zlib-devel perl-ExtUtils-MakeMaker

wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.25.1.tar.gz

tar -zxvf xxx.tar.gz -C /usr/local/git

cd /usr/local/git/git-2.25.1/

./configure --prefix=/usr/local/git

make && make install

设置软链接:

ln -s /usr/local/git/bin/git /usr/bin/git

安装Nginx

官网下载nginx .tar.gz包,安装如下:

yum install -y gcc zlib zlib-devel openssl curl openssl-devel pcre-devel

groupadd nginx

useradd -g nginx nginx

tar -zxvf nginx-1.16.1.tar.gz -C /usr/local/nginx/

cd nginx/nginx-1.16.1/

configure_opts=( \
    --prefix=/usr/local/nginx \
    --user=nginx \
    --group=nginx \
    --with-http_ssl_module \
    --with-http_flv_module \
    --with-http_stub_status_module \
    --with-http_gzip_static_module )

./configure ${configure_opts[@]}

make && make install

设置环境变量

设置JAVA_HOME、MAVEN_HOME、CLASSPATH和PATH,~/.bashrc如下所示:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/jdk1.8.0_201/bin:/usr/local/nginx/sbin:/usr/local/maven/apache-maven-3.6.3/bin:/usr/local/git/bin"
JAVA_HOME=/usr/local/java/jdk1.8.0_201
CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3

image.png

安装jenkins

按照官网说明安装,如下:

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins

或者手动下载rpm安装包进行安装:

rpm -ivh jenkins-2.204.3-1.1.noarch.rpm

nginx代理jenkins:8080端口

server {
        listen       80;
        server_name jenkins.awbeci.com;
        return 301 https://jenkins.awbeci.com$request_uri;
        location / {
           proxy_pass http://127.0.0.1:8080;
           proxy_set_header Host $host;
           proxy_set_header X-Reql-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
           proxy_set_header X-Forwarded-Port $server_port;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}


server {
        listen       443 ssl;
        server_name  jenkins.awbeci.com;

        ssl_certificate      /usr/local/nginx/cert/jenkins/jenkins.awbeci.com.pem;
        ssl_certificate_key  /usr/local/nginx/cert/jenkins/jenkins.awbeci.com.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
              proxy_pass http://127.0.0.1:8080; #这里的端口记得改成项目对应的哦
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
              proxy_set_header X-Forwarded-Port $server_port;
        }
    }

配置Jenkins网站

访问jenkins网站

image.png

安装推荐插件

在这里插入图片描述

进行安装

image.png

创建管理员用户

image.png

欢迎页面

image.png

配置jdk和git

配置jdk:选择Global Tool Configuration,并点击新建JDK,输入别名和JAVA_HOME:
配置git:git默认即可:
image.png

配置maven和docker

配置maven:点击新建Maven,输入别名和MAVEN_HOME:
配置docker:点击新建Docker,输入别名和Installation root:
image.png

免费申请阿里云SSL证书

clipboard.png

购买成功之后,配置好域名,我这里的域名是: nexus.awbeci.com,设置好之后等待审核,审核成功之后选择nginx版本并下载证书

clipboard.png

clipboard.png

下载完成之后是个.zip的压缩包,我们上传到服务器上,使用下面命令:

scp your-cert.zip root@your-server-ip:/your-server-directory

上传成功之后我们等待下一步操作。

这样就成功的配置好了,现在我们重启下nginx,并访问nexus.awbeci.com网站看看

# 重启nginx
/usr/local/nginx/sbin/nginx -s reload

升级Jenkins

升级Jenkins也很简单,下载包->替换包->重启即可,jenkins安装包地址,下面是安装的详细命令

$cd
$wget http://mirror.serverion.com/jenkins/war-stable/2.222.4/jenkins.war
$cd /usr/lib/jenkins/
$rm -rf jenkins.war
$cp ~/jenkins-update-war/jenkins.war ./
$systemctl stop jenkins
$systemctl status jenkins
$systemctl start jenkins
$systemctl status jenkins

----- 2021-12-04更新 ------

最近发现jenkins服务器被黑客恶意安装探矿程序,于是记录下解决过程分享给大家,解决过程参考的是阿里云的文章
首先查看jenkins状态:

image.png

从图中可以发现Jenkins多了好多.sh执行文件,以及跳转到51.161.117.115ip上面下载xxxx文件
于是我们把pid对应的目录下的文件删除即可,我的是在/var/lib/jenkins/workspace/。

image.png

上面就是恶意程序在/tmp文件夹下的文件,所以删除的地方有两个

  1. /tmp底下的所有文件
  2. 挖矿程序pid对应的目录文件
cd /tmp
rm -rf ./*

rm -rf /var/lib/jenkins/workspace/node/xxxx

总结

1、安装jenkins前要先安装jdk、maven、docker、git和nginx
2、安装如果慢就本地下载然后再上传到ECS进行安装
3、安装好jenkins后要配置jdk、maven、docker和nginx

注意

如果jenkins在运行过程中报:mvn command not found,可以设置包含mvn地址的全局环境变量如下所示:
image.png
image.png

引用

centos安装docker
CentOS7下安装配置Jenkins
centos7.3安装配置jenkins完整版
GitLab与JenKins的搭建以及两者之间的简单结合


Awbeci
3.1k 声望213 粉丝

Awbeci