前言
因项目需要安装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 集群
然后运行下面命令看看是否安装成功
[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
安装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网站
安装推荐插件
进行安装
创建管理员用户
欢迎页面
配置jdk和git
配置jdk:选择Global Tool Configuration,并点击新建JDK,输入别名和JAVA_HOME:
配置git:git默认即可:
配置maven和docker
配置maven:点击新建Maven,输入别名和MAVEN_HOME:
配置docker:点击新建Docker,输入别名和Installation root:
免费申请阿里云SSL证书
购买成功之后,配置好域名,我这里的域名是: nexus.awbeci.com,设置好之后等待审核,审核成功之后选择nginx版本并下载证书
下载完成之后是个.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状态:
从图中可以发现Jenkins多了好多.sh执行文件,以及跳转到51.161.117.115ip上面下载xxxx文件
于是我们把pid对应的目录下的文件删除即可,我的是在/var/lib/jenkins/workspace/。
上面就是恶意程序在/tmp文件夹下的文件,所以删除的地方有两个
- /tmp底下的所有文件
- 挖矿程序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地址的全局环境变量如下所示:
引用
centos安装docker
CentOS7下安装配置Jenkins
centos7.3安装配置jenkins完整版
GitLab与JenKins的搭建以及两者之间的简单结合
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。