Docker下gogs的使用

介绍

现在的代码管理和维护工作从最开始的svn已经转移到git上了,现在市面上的代码托管工具有很多,coding、github等等 ,那么如果我们想要一个更私密性的git仓库 就需要自己在服务器上搭建了,这篇文章就介绍一下如何自己搭建一个在服务器上的git仓库

准备工作

  • 服务器版本: Ubuntu 16.04 64位
  • 准备docker ==不知道如何安装docker的同学可以看一下我这篇文章 ==
    Linux下,Docker的安装和一些常见的命令
  • 如果想用mysql作为代码存储可以从docker下拉取一个mysql稍微配置一下,也可以用gogs默认的sqlite3作为存储数据库

docker下安装gogs

设置gogs数据目录 这里可以自己选择想要存储的位置

mkdir -p /var/gogs

拉取镜像

docker pull gogs/gogs

启动

docker run --name=gogs -p 10022:22 -p 3000:3000 -v /var/gogs:/data gogs/gogs

进入ip:3000/install页面进行初始化设置

Alt

  • 注意 几点配置
    • 1、数据库:可以自己配置mysql的数据库 也可以用默认的SQLite
    • 2、域名:这里不可以填写loclhost 必须填写公网IP或者域名,要不外部无法访问

配置好以后 就可以启动了,第一次注册的账户为超级管理员账户,剩下的可以愉快的开始你的git之旅了。 gogs的安装有很多种方式,不仅仅是docker安装,这里就不多说了,感兴趣的小伙伴可以去gogs的Docker Hub 或者 github 来详细的看一下具体的gogs操作和说明

### 集成和配置 Docker、Jenkins 和 Gogs Docker 是一种容器化技术,可以轻松部署应用程序及其依赖项;Jenkins 是一个流行的持续集成/持续交付 (CI/CD) 工具;Gogs 则是一个轻量级的自托管 Git 服务。三者结合能够提供强大的开发环境管理能力。 #### 使用 Docker 容器运行 Jenkins 和 Gogs 为了简化安装过程并提高可移植性,可以通过 Docker 运行 Jenkins 和 Gogs 实例[^1]。以下是具体的实现方式: ```dockerfile # 创建 Docker Compose 文件来定义多容器应用 version: '3' services: jenkins: image: jenkins/jenkins:lts container_name: jenkins ports: - "8080:8080" - "50000:50000" volumes: - ./jenkins_home:/var/jenkins_home restart: always gogs: image: gogs/gogs container_name: gogs ports: - "3000:3000" - "22:22" environment: - USER_UID=1000 - USER_GID=1000 volumes: - ./gogs_data:/data restart: always ``` 上述 `docker-compose.yml` 文件描述了一个包含两个服务的应用程序:一个是基于官方镜像构建的 Jenkins 服务器,另一个是用于版本控制的 Gogs 服务[^2]。 #### Jenkins 中设置 Gogs Webhook 触发 CI 流程 为了让每次提交到 Gogs 存储库时自动触发 Jenkins 构建流程,需完成以下操作: - **在 Gogs 上创建 Webhook**: 登录至您的 Gogs 账户,在目标存储库中导航到 “Settings -> Webhooks”,添加一个新的 webhook URL 指向您正在使用的 Jenkins 地址加上 `/git/notifyCommit?url=<repository-url>` 参数。 - **配置 Jenkins 插件支持 Gogs**: 在 Jenkins 系统上安装插件如 Generic Webhook Trigger 或其他兼容插件以便接收来自 Gogs 的请求数据. #### 数据持久性和安全性考虑 当利用 Docker 来部署这些工具时,请务必注意数据卷映射的重要性以防止意外丢失重要资料。另外还需要妥善处理访问凭证的安全传输问题,比如通过 SSH 密钥认证机制连接远程仓库而不是明文密码[^3]。 ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" cat ~/.ssh/id_rsa.pub ``` 以上命令生成了一对新的SSH密钥,并显示公钥内容供复制粘贴给Git服务商使用
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值