Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)


一、Gogs简介

Gogs 是一款极易搭建的自助 Git 服务。
         Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
网址:https://gitee.com/unknwon/gogs

功能特性:

支持活动时间线
支持 SSH 以及 HTTP/HTTPS 协议
支持 SMTP、LDAP 和反向代理的用户认证
支持反向代理子路径
支持用户、组织和仓库管理系统
支持添加和删除仓库协作者
支持仓库和组织级别 Web 钩子(包括 Slack 集成)
支持仓库 Git 钩子和部署密钥
支持仓库工单(Issue)、合并请求(Pull Request)、Wiki 以及保护分支
支持迁移和镜像仓库以及它的 Wiki
支持在线编辑仓库文件和 Wiki
支持自定义源的 Gravatar 和 Federated Avatar
支持 Jupyter Notebook
支持邮件服务
支持后台管理面板
支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 TiDB(实验性支持) 数据库
支持多语言本地化(22 种语言)


二、Gogs安装

(1)搜索并下载镜像

[root@localhost java]# docker search gogs
[root@localhost java]# docker pull gogs/gogs

在这里插入图片描述


(2)创建容器:my_gogs

[root@localhost java]# docker run -di --name=my_gogs -p 10022:22 -p 3000:3000 -v /user/java/gogsdata:/data gogs/gogs:latest

(3)查看容器:my_gogs

[root@localhost java]# docker ps

在这里插入图片描述


(4)浏览器访问gogs,配置相关信息,完成安装

访问地址:http://192.168.116.161:3000

提示: 首次访问安装程序页面,我们可以选择一种数据库作为gogs数据的存储,最简单的是选择SQLite3,如果对于规模较大的公司,可以选择MySQL。

① 数据库设置:

注:mysql创建好下图对应的数据库和用户信息。

小虎:这里建议安装SQLite3数据库。
Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第1张图片


② 应用基本设置:
Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第2张图片


③ 可选设置(这里跳过):
Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第3张图片


最后点击页面下方的“立即安装”按钮,等待安装完成,报如下错:

数据库设置不正确:Error 1062: Duplicate entry '' for key 'UQE_user_lower_name'

【原因未知】这里暂不做探究,后续探究。可能与之前已安装mysql数据库有关、或与mysql数据库root用户有关

故这里建议选择数据库为SQLite3,点击页面下方的“立即安装”按钮,等待安装完成,安装完成会自动跳转至gogs的登录页面:

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第4张图片


(4)注册并登录gogs

需要注册一个gogs账号并登录:

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第5张图片

登录后,界面如下图:

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第6张图片


(4)创建仓库

创建一个新仓库springboot_test

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第7张图片

创建成功后界面如下:
Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第8张图片


三、提交代码到Gogs

gogs中仓库地址: http://192.168.116.161:3000/root/springboot_test.git

3.1、本地(windows)要求安装git

安装步骤这里省略。


3.2、在IDEA中提交代码

(1)在IDEA中选择菜单 : File – settings , 在窗口中选择Version Control – Git

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第9张图片


(2)选择菜单VCS --> Enable Version Control Integration…
Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第10张图片
选择Git:
Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第11张图片


(3)设置远程地址: 右键点击工程选择菜单 Git --> Repository -->Remotes…

注: URL中填写之前创建的gogs仓库地址。

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第12张图片


(4)右键点击工程选择菜单 Git --> Add

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第13张图片


(5)右键点击工程选择菜单 Git --> Commit Directory…

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第14张图片
Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第15张图片

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第16张图片


(6)右键点击工程选择菜单 Git --> Repository --> Push …

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第17张图片

push成功后,在Gogs页面查看提交后的项目相关信息(如下图):

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第18张图片


四、Jenkins创建任务与执行任务

浏览器进入Jenkins管理页面:http://192.168.116.161:8888/

(1)回到首页,点击 “新建Item” 菜单(如下图),输入任务名称,选择 “构建一个Maven项目”,点击 “确定” 按钮。

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第19张图片


(2)点击 “源码管理” 菜单,选择Git,输入gogs仓库地址

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第20张图片


(3)点击 “Build” 菜单

① Root POM

输入项目pom文件路径:pom.xml

注意:
(1)如果项目只是一个Maven模块,直接写:pom.xml
(2)如果是maven子模块,则需要填写:子模块名称/pom.xml

② Goals and options

输入Maven自动执行命令:clean package docker:build -DpushImage

作用: 用于清除、打包,构建docker并push镜像。
注意: 命令开头千万不能添加mvn,默认执行的时候会自动添加。

最后点击 “应用” 或 “保存” 按钮

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第21张图片

创建成功如下图:
Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第22张图片


(4)返回(首页)面板(Dashboard),点击 “构建执行”按钮(如下图)

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第23张图片

查看控制台输出(是否有错误):

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第24张图片

构建完成后,可查看docker镜像:

[root@localhost java]# docker images

在这里插入图片描述

查看私有仓库:http://192.168.116.161:5000/v2/_catalog

Docker持续集成(三):Gogs搭建自助Git服务(Jenkins任务创建)_第25张图片


你可能感兴趣的:(Docker,docker,ci/cd,git)