DevOps第二篇——docker安装gitlab+jenkins

前言

基础的代码管理环境很重要,随着团队规模的扩大,效率呈指数型增长。目前本人所了解的在用的版本管理工具有两类:git和svn(不适合团队开发,只适合个人开发。)。
版本控制工具选择git,不多作解释。

gitlab

  1. 访问DockerHub官网搜索:https://hub.docker.com/search?q=gitlab&type=image
    一个社区版,一个企业版。不必多说企业版功能会全一些,所以我们安装社区版,选择Gitlab Community Edition,

    进去后没有我们常见的tag标签栏,但是右边有个开始安装,点他

    进去后说,这个版本过期了,要看最新的请去https://hub.docker.com/r/gitlab/gitlab-ce
    此时右边就有一条docker pull镜像的指令,这个就是获取最新docker-ce版本镜像。可以直接就用。也可以跳转链接,看docker-ce发行的其他版本与其他信息
  2. 拉取镜像
docker pull gitlab/gitlab-ce:14.3.3-ce.0
  1. 运行镜像
sudo docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:14.3.0-ce.0;
# 获取root密码
cat /data/gitlab/initial_root_password
  1. 修改root密码,当我们忘记root密码的时候
# 进入gitlab容器
docker exec -it gitlab /bin/bash
# 启动Ruby on Rails控制台
gitlab-rails console -e production
# 搜索电子邮件或用户名
user.password = 'secret_pass'
user.password_confirmation = 'secret_pass'
# 保存
user.save!
# 退出容器
exit;
# 重启gitlab容器
docker restart gitlab

jenkins

同上文搜索获取镜像

  1. 运行
# 拉取简洁镜像,与下一个jenkinsci/blueocean二选一即可
docker pull jenkins:2.60.3
# 拉取捆绑了所有Blue Ocean插件和功能的镜像
docker pull jenkinsci/blueocean:1.25.1
# 宿主机创建文件夹
sudo mkdir -p /data/jenkins_home
# 配置宿主机文件夹权限
sudo chown -R 1000:1000 /opt/jenkins
# 运行容器
# sudo docker run -itd --name jenkins -p 8080:8080 -p 50000:50000 --restart always -v /data/jenkins_home:/var/jenkins_home jenkins:2.60.3
sudo docker run -itd --name jenkins -p 8080:8080 -p 50000:50000 --restart always -v /data/jenkins_home:/var/jenkins_home jenkinsci/blueocean:1.25.1
# 配置防火墙
# 查找端口是否开通
firewall-cmd --query-port=8080/tcp
# 放开端口
firewall-cmd --permanent --add-port=8080/tcp
# 关闭端口
firewall-cmd --permanent --remove-port=8080/tcp
# 重启防火墙
firewall-cmd --reload
  1. 访问首页配置账号
    如下图,初始登录密码位于/var/jenkins_home/secrets/initialAdminPassword,但是我们配置文件外挂载,故可直接与宿主机查看
cat /data/jenkins_home/secrets/initialAdminPassword


选择安装建议的插件

posted @   临渊不羡渔  阅读(246)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示