操作内容还是比较多,一口气看完有点累。。。
Docker+Jekins+GitHub 持续集成配置(详细操作过程)_docker jenkins 配置git_菠萝屋里的小海绵的博客-CSDN博客
一、安装docker
通过远程仓库安装docker是一种比较常见的方式了
由于国外的镜像比较慢,因此配置阿里云镜像
1. 初始化镜像仓库
在一台机器上首次安装 Docker 前,还需要执行如下操作
sudo yum install -y yum-utils
2. 配置镜像仓库
这里是docker官方的仓库地址
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
我们使用的是阿里云的仓库,因为速度更快,这里需要登录自己的阿里云账号获取地址,
注意:这里使用自己的阿里云镜像地址,不要搞错了
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://******.mirror.aliyuncs.com"]
}
EOF
3. 配置完成后,重新加载
sudo systemctl daemon-reload
4. 执行docker安装命令
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
安装过程中,有 2 处停顿,询问是否继续,直接输入 y 即可
Is this ok [y/d/N]: y
Is this ok [y/N]: y
5. 启动docker
# 启动Docker
sudo systemctl start docker
# 设置开机启动Docker
sudo systemctl enable docker
检查docker是否正常运行 输入命令docker -v出现一下内容即为正常运行
[root@VM-16-3-centos ~]# docker -v
Docker version 19.03.9, build 9d988398e7
到这一步docker就安装完成了
二、安装jenkins
1. 查看docker下jenkins版本
docker search jenkins
2. 下载jenkins镜像
docker pull jenkins/jenkins:lts
3. 创建挂载文件夹
/home/jenkins/workspace
路径自己定,文件夹叫jenkins或者jenkins_home跟容器里保持一致
mkdir -p /home/jenkins/workspace
4. 一定要给这个文件夹提升权限
有些文章中挂在的是容器里jenkins文件夹,这个是可以直接挂载的。但是如果是挂jenkins_home(主要是挂这个文件夹),没权限挂载后容器起不起来,这个坑要注意。
chmod -r 777 /home/jenkins/workspace
开放9001端口
firewall-cmd --zone=public --add-port=9001/tcp --permanent
5. 运行容器
提示:这里注意\后是不是有空格,粘贴复制多看看
端口自己改,我用的9001
docker run -uroot -d --restart=always --privileged=true -p 9001:8080 \
-v /home/jenkins/workspace/:/var/jenkins_home/workspace \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
--name jenkins jenkins/jenkins:lts
查看jenkins是否启动成功
看到这一步 jenkins的容器就启动成功了
三、访问jenkins
1. 访问jenkins
网页上访问http://ip+9001
2. 密码可以直接看日志获取
docker logs jenkins
或者到配置文件里看,因为我们挂载了,就直接看
cat /var/lib/jenkins/secrets/initialAdminPassword
3.安装初始插件
初始密码输入后,就会进入jenkins页面
注意:这里安装插件可能会大面积失败,不用担心,是下载的安装源导致的,安装插件结束之后点继续,我们进入jenkins的首页,找的插件管理,我们先把jenkins的版本做升级,升级之后勾选自动重启
4. 更换安装源
然后我们在新版的jenkins找到系统管理-插件管理-Advanced settings里面的升级站点
找到manage jenkins(系统设置)->plugin manager(插件管理)->available(下载插件)
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
然后可能是中文,也可能是英文:找到manage jenkins(系统设置)-plugin manager(插件管理)-available(下载插件)
到这里jenkins就可以正常下载插件了,更新之前失败的就行了
四、安装nexus3私服maven仓库
1. 新建文件夹
mkdir -p /home/nexus
chmod -R 777 /home/nexus
cd /home/nexus
2.下载nexus3镜像
docker pull sonatype/nexus3
3.启动nexus3镜像
docker run -itd
-p 8081:8081
--privileged=true
--name nexus3
-v /data/nexus-data:/var/nexus-data
--restart=always docker.io/sonatype/nexus3
开放8081端口
firewall-cmd --zone=public --add-port=8081/tcp --permanent
4.访问nexus3
http://ip+8081端口
进入首页后,初次登录需要获取首次登录密码,登录成功后可修改密码
5. 获取首次登录密码
找到nexus3容器的container_id(容器编号)
docker ps -a
进入容器
docker exec -it 容器编号 sh
进入容器后执行命令
cat /nexus-data/admin.password
到这里nexus3私服仓库就安装好了
五、nexus3配置阿里云代理
仓库简介
默认仓库
maven-central:maven中央库,默认从 https://repo1.maven.org/maven2/ 拉取jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置 settings.xml 或项目 pom.xml 中使用
maven-releases:私库发行版jar,初次安装请将Deployment policy设置为Allow redeploy
maven-snapshots:私库快照(调试版本)jar
仓库类型
Hosted 宿主仓库:用户可以把一些自己的构件,deploy 到 hosted 中。
Proxy 远程仓库的代理:比如说在Nexus中配置了 Central Repository 的 proxy,当用户向这个proxy请求一个构件时,这个proxy就会先在本地查找,如果找不到的话,再去远程仓库下载,返回给用户。相当于一个中转的作用。
Group 仓库组:在 Maven 里没有这个概念,是 Nexus 特有,目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要配置多个地址,只要统一配置 Group 地址就OK了。
1. 新增阿里云代理仓库
2. 设置阿里云代理仓库地址
http://maven.aliyun.com/nexus/content/groups/public
3.设置组合仓库
将刚才新增的aliyun代理仓库添加到maven-public这个仓库组合里面
最好将阿里云的代理仓库拖到第一位,保存退出
4. 配置maven仓库的setting.xml文件(文章附带链接)
修改项目的settings文件,重新加载项目就可以看到下载的jar包了
到这里nexus3私服就搭建完成了