执子之手

与子偕老


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索
close

使用Docker运行Jenkins(二)

时间: 2017-08-20   |   分类: 运维     |   阅读: 968 字 ~2分钟   |   访问: 0

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

Gitea占用资源小,比起Gitlab这种庞然大物来说简直是精致得要命。但是作为小团队的项目管理用来替代Gitlab还是基本能够满足需求的。而且Gitea(包括Gogs)社区还是挺活跃的,新功能也在逐渐增加中,个人很看好它的前景。

1. 怎么运行Gitea

1.1 使用Docker运行mysql

 1version: '2'
 2services:
 3  mysql:
 4    image: mysql:5.7.18
 5    volumes:
 6      - /opt/docker/gitbox/db:/var/lib/mysql
 7      - /opt/docker/gitbox/config:/etc/mysql/conf.d
 8    environment:
 9      - TZ=Asia/Shanghai
10      - MYSQL_ROOT_PASSWORD=password
11    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
12    ports:
13      - 3307:3306
14    hostname: mysql
15    restart: unless-stopped

Gitea支持MySQL、PostgreSQL或SQlite,上面是以MySQL为例。也可以安装其他数据库。

1.2 创建数据库

使用上面创建的root用户登录mysql,创建数据库:

1DROP DATABASE IF EXISTS gogs;
2CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

1.3 安装Gitea

 1version: '2'
 2services:
 3  gogs:
 4    image: gitea/gitea:1.4.0-rc2
 5    volumes:
 6      - /etc/localtime:/etc/localtime
 7      - /opt/docker/gogs/data:/data
 8      - /opt/docker/gogs/logs:/app/gogs/log
 9    ports:
10      - "10080:3000"
11      - "10022:22"
12    hostname: gogs

通过volume配置,可以将log以及repository等数据保存到宿主机上。

1.4 配置

使用浏览器访问,会自动跳入设置界面。配置好数据库,做好必要的配置Gogs就安装好了。

2. Webhook的使用

到现在为止,我还不会使用Jenkins中的Gitea plugin,所以最终还是使用了Gogs的plugin。

2.1 Jenkins中安装插件

Gogs plugin。安装这个插件之后就可以使用Gogs类型的Webhook了。

2.2 项目配置

在Jenkins中针对要启用Webhook的项目选择"Use Gogs Secret",设置一个Secret。这个Secret将保证通讯中的数据安全。

2.3 Gitea中配置

在Gitea中仓库设置 -> 管理Web钩子,选择添加一个Gogs类型的Webhook,其他参数如下:

  • 推送地址为:{jenkins-server-address}/gogs-webhook/?job={job name}
  • 数据格式为:application/json
  • 密钥文本设置为上面的Secret。
  • 希望触发Web钩子的事件:只推送即可。

经过以上配置之后,当推送了最新代码的时候,会自动触发Jenkins中的构建事件,对代码进行打包测试。

#Docker# #Jenkins# #Gogs# #Gitea#
Spring应用因Session Timeout设置引起的GC问题
使用Docker运行Jenkins服务(一)
  • 文章目录
  • 站点概览
Orchidflower

Orchidflower

Do one thing at a time, and do well.

77 日志
6 分类
84 标签
GitHub 知乎 OSC 豆瓣
  • 1. 怎么运行Gitea
    • 1.1 使用Docker运行mysql
    • 1.2 创建数据库
    • 1.3 安装Gitea
    • 1.4 配置
  • 2. Webhook的使用
    • 2.1 Jenkins中安装插件
    • 2.2 项目配置
    • 2.3 Gitea中配置
© 2009 - 2024 执子之手
Powered by - Hugo v0.113.0
Theme by - NexT
ICP - 鲁ICP备17006463号-1
0%