docker的搭建
- 安装docker前需要安装的两个依赖
- device-mapper-persistent-data: Linux 下的一个存储驱动
- Lvm :作用则是创建逻辑磁盘分区
yum install -y yum-utils device-mapper-persistent-data lvm2
阿里云的 Docker 镜像源添加
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y
docker服务基本的操作
systemctl start docker
systemctl enable docker
docker image ls // 查看镜像 | 其它操作
docker ps -a // 查看容器
docker start xxxid // 启动容器id
docker pull // 拉去镜像
docker exec -it 新容器ID bash //
jenkins的安装
- java 环境的安装,jekins由java编写
yum install -y java
- 由于 Yum 源不自带 Jenkins 的安装源,于是我们需要自己导入一份 Jenkins 安装源进行安装。导入后,使用 Yum 命令安装即可。
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
- jenkins基本操作
service jenkins start
service jenkins restart
service jenkins stop
- jenkins默认端口8080,更换端口操作
比如配置8000端口,先要在阿里云服务安全组配置好8000端口的允许规则
在修改jenkins的配置文件
vi /etc/sysconfig/jenkins
// 修改 【JENKINS_PORT】= "8000"保存即可
service jenkins restart
- 密钥获取
cat /var/lib/jenkins/secrets/initialAdminPassword
得到密钥后填入,继续
- jenkins的一些插件
把安装源改成清华大学
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/lib/jenkins/updates/default.json
然后再点击去安装推荐插件
Unix Socket 权限问题
docker 的架构是 C/S 架构。在我们使用 docker 命令时,其实是命令使用 socket 与 docker 的守护进程进行通信,我们需要将jenkins添加到docker的用户组,才能正常执行 docker 命令
sudo groupadd docker #新增docker用户组
sudo gpasswd -a jenkins docker #将当前用户添加至docker用户组
newgrp docker #更新docker用户组
// 然后重启
service jenkins restart
// 之后就可以在构建中执行docker pull等命令
额外的插件安装
NODE
SSH 集成Git仓库源
服务器上生成
ssh-keygen -t rsa -C "xx@xx.com"
把公钥添加在到git, 私钥添加到jenkins源码管理
源码配置和构建脚本
本地文件添加DockerFile和nginx配置
FROM nginx:1.15-alpine
COPY dist /etc/nginx/html
COPY conf /nginx./etc/nginx/
WORKDIR /etc/nginx/html
构建脚本
npm install --registry=https://registry.npm.taobao.org
npm run build:demo
docker build -t jenkins-test .
然后构建生成一个新的镜像
私有的镜像库
镜像库就是集中存放镜像的一个文件服务。镜像库在 CI/CD 中,又称 制品库 。构建后的产物称为制品,制品则要放到制品库做中转和版本管理。常用平台有Nexus,Jfrog,Harbor或其他对象存储平台
wget https://dependency-fe.oss-cn-beijing.aliyuncs.com/nexus-3.29.0-02-unix.tar.gz
tar -zxvf ./nexus-3.29.0-02-unix.tar.gz
cd nexus-3.29.0-02/bin
vim nexus.rc // 加入run_as_user=root
vim nexus // 里面有一句:run_as_root=true ,原来是此处直接给拦死了,故只要改成run_as_root=false
./nexus start // 默认在8081端口启动,镜像管理服务端口
// 需要给镜像库据库开个端口8082
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --zone=public --add-port=8082/tcp --permanent