Jenkins搭建CI环境

本文详细介绍如何在Ubuntu系统中安装配置sshd、更换阿里云软件源、安装Java、Maven、Git、Jenkins及Docker等工具,并设置了Git的免密码登录,提供了Jenkins卸载步骤及Docker的代理配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ip: 192.168.80.132

一、安装sshd
1.  apt-get install openssh-server


二、将ubuntu的repository设置为阿里云
1. 替换 /etc/apt/sources.list 的内容如下:
deb cdrom:[Ubuntu-Server 16.04.1 LTS _Xenial Xerus_ - Release amd64 (20160719)]/ xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb https://apt.dockerproject.org/repo/ ubuntu-xenial main


2. sudo apt-get update


3. ubunut使用代理访问软件源(本人内网环境,需要通过https/http代理访问外网。所以需要配置此步骤,可以直接访问外网的同学跳过此步骤)
新建文件 apt_proxy_conf(文件名任意)

root@CI:/etc/apt# cat apt_proxy_conf

#配置文件如下:·
Acquire::http::proxy "http://192.168.18.81:9009/";
Acquire::ftp::proxy "ftp://192.168.18.81:9009/";
Acquire::https::proxy "https://192.168.18.81:443/";

往后就可以在apt-get之后加上 -c apt_proxy_conf 来执行。

三、安装java
sudo mkdir /opt/java
cd /opt/java
sudo tar zxvf jdk-8u112-linux-x64.tar.gz
sudo vim /etc/profile

#在文件结尾处增加
export JAVA_HOME=/opt/java/jdk1.8.0_112
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

source /etc/profile
sudo ln -s /opt/java/jdk1.8.0_112/bin/java /bin/java


四、安装mavne
cd /opt/java
sudo tar zxvf apache-maven-3.3.9-bin.tar.gz

#设置环境变量  /opt/java/apache-maven-3.3.9
sudo vim /etc/profile
#在文件结尾处增加
export M2_HOME=/opt/java/apache-maven-3.3.9
export PATH=$M2_HOME/bin:$PATH

五、安装git
sudo apt-get install git-core openssh-server openssh-client
sudo apt-get install python-setuptools

六、设置到git server的免密码登录
sudo adduser ci
su ci
#创建ssh keypair
ssh-keygen
cd /home/ci/.ssh/
cp id_rsa.pub authorized_keys
chmod 600 authorized_keys
#将authorized_keys 拷贝到git server的ci用户的相应目录下
scp authorized_keys root@192.168.18.85:/home/ci/.ssh/
su - ci
ssh 192.168.18.85   //登录成功


七、安装jenkin (适用于 ubuntu)
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -


#如果上述命令返回gpg: no valid OpenPGP data found. 用如下命令继续
wget --no-check-certificate -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -

sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

八、jenkins 管理员账户
http://192.168.80.132:8080/
vanwe
gh3$4xzc

安装 git—plugin maven-plugin 等插件
vim /etc/default/docker
#如果没有权限加入如下行, 否则jenkins在制作docker镜像时无操作unix socket权限
DOCKER_OPTS=' -G jenkins'
#将jenkins 加入到docker组
sudo usermod -a -Gdocker jenkins

#切换到jenkins用户 
sudo su -s /bin/bash jenkins
docker ps 

#如果仍然没有权限,reboot

#jenkins 中增加shell命令行
cd src
mvn package docker:build


#运行jenkins
//docker run --cidfile="gps-master.cid" -d -p80:80 -t ubuntu/vgps


#添加如下脚本(这个脚本已经放到源代码目录)
cidfile="gps-master.cid"
if [ -f $cidfile ]; then
  read contain_id < $cidfile
  echo stop container... container_id="$contain_id"
  docker stop $contain_id
  rm -rf $cidfile
fi
docker run --cidfile="gps-master.cid" -d -p80:80 -t ubuntu/vgps


#jenkins 中增加shell命令行
cd src
bash docker_cmd.bash




九、安装docker环境
su -  //切换到root
cd /opt/
apt-get install apt-transport-https software-properties-common ca-certificates
apt-get install curl
curl -fsSL https://yum.dockerproject.org/gpg | sudo apt-key add -


#如果上述命令返回gpg: no valid OpenPGP data found. 用如下命令继续
wget --no-check-certificate -q -O - http://yum.dockerproject.org/gpg | sudo apt-key add -




apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-get install software-properties-common
add-apt-repository "deb https://apt.dockerproject.org/repo/ ubuntu-$(lsb_release -cs) main"


#如果上一行证书失败,使用下面命令
add-apt-repository "deb http://apt.dockerproject.org/repo/ ubuntu-$(lsb_release -cs) main"


apt-get update
apt-get -y install docker-engine

十、安装默认的docker版本 (版本号:1.12.6)
$ sudo apt-get update
$ sudo apt-get install docker


===================================================================================================
关于Jenkins卸载的具体步骤:


1.sudo apt-get --purge remove jenkins -------将安装Jenkins时所产生的目录全部删除包括配置文件等。
2.sudo apt-get --purge remove jenkins -------再次运行下载Jenkins的命名时,将显示Jenkins已经删除,但是安装Jenkins时同时安装的其他依赖包还存在,这时就可以显示出这些所依赖的包。
3.sudo apt-get --purge remove ca-certificates-Java -----将依赖包进行删除。(ca-certificates-java依赖包)
4.sudo apt-get --purge remove (其他依赖包)。
这时,再运行sudo apt-get install jenkins 命令安装Jenkins时就跟系统从来没有安装过Jenkins一样。


===================================================================================================
openssl 创建证书
openssl req -new -keyout ..\key.pem -nodes -x509 -days 365 -out ..\cert.pem




==============================
为docker创建proxy
vim /etc/systemd/system/docker.service.d/http-proxy.conf
#配置文件如下:
[Service]
Environment="HTTP_PROXY=http://192.168.18.81:9009"
Environment="HTTPS_PROXY=http://192.168.18.81:443/"
Environment="NO_PROXY=localhost,127.0.0.1,localaddress,.localdomain.com"


systemctl show docker --property Environment
systemctl restart docker
systemctl daemon-reload
==========================================

====================================================================================================
/etc/init.d/stunnel4 start


=======================================================
ubuntu 导入证书
/usr/local/share/ca-certificates


1. 配置证书
dpkg-reconfigure ca-certificates
2. 更新证书
update-ca-certificates
=======================================================
### 使用 Jenkins 搭建 CI 环境的详细步骤 #### 1. 安装 Jenkins 为了开始使用 Jenkins,首先需要在其官方网站下载适合的操作系统版本并完成安装。如果采用 Docker 方式,则可以通过以下命令快速启动 Jenkins 容器: ```bash mkdir -p /home/jenkins_home chmod 777 /home/jenkins_home docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /home/jenkins_home:/var/jenkins_home jenkins/jenkins:lts ``` 此方法可以有效减少本地环境配置的工作量,并利用容器化技术隔离运行环境[^5]。 --- #### 2. 初次登录与初始化 首次访问 Jenkins 的 Web 界面时,默认会提示输入初始管理员密码。该密码位于 `/var/jenkins_home/secrets/initialAdminPassword` 文件中(如果是 Docker 启动则路径为宿主机上的对应挂载目录)。复制粘贴此密码即可解锁界面并进入插件安装阶段。 建议选择推荐插件列表进行自动安装,这一步骤有助于简化后续流程中的依赖管理[^1]。 --- #### 3. 配置全局工具和系统设置 导航至 **Manage Jenkins > Global Tool Configuration** 页面,定义 Maven 和 JDK 等开发工具的位置或让 Jenkins 自动安装它们。接着,在同一菜单下的 **Configure System** 中填写邮件通知服务、Git 凭证以及其他必要的基础参数[^1]。 --- #### 4. 添加 SSH 密钥认证 对于基于 Git 的项目源码拉取需求,需确保已正确配置 SSH 秘钥以便无密码验证连接远程仓库。前往 **Manage Jenkins > Manage Credentials** 并新增相应的私钥条目。 --- #### 5. 创建流水线 (Pipeline) 点击左侧栏目的 New Item 菜单项来新建一个自由风格的任务或者声明式的 Pipeline 工程。针对后者而言,通常会在项目的根目录下放置名为 `Jenkinsfile` 的脚本文件描述整个构建逻辑。下面是一个简单的例子展示如何结合 Maven 构建 Java 应用程序: ```groovy pipeline { agent any stages { stage('Checkout') { steps { git 'https://github.com/example/repo.git' } } stage('Build') { steps { sh 'mvn clean install' } } stage('Test') { steps { echo 'Running tests...' } } } post { always { junit '**/target/surefire-reports/*.xml' } } } ``` 上述代码片段展示了从检出代码到执行单元测试的核心环节[^2]。 --- #### 6. 整合外部工具和服务 为了让 CI 流水线更加完善,可引入更多第三方平台支持诸如 SonarQube 进行静态分析扫描;Artifactory 或 Nexus 存储制品库;甚至 Kubernetes 实现动态节点分配等功能扩展[^4]。 --- #### 7. 测试与优化 最后不要忘记反复试验不同的场景组合确认所有预期行为均能正常运作。同时考虑性能调优措施比如限制并发作业数、启用轻量化代理等方式提升整体效率[^3]。 --- 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值