Gogs、Git、JDK、Jenkins。准备好这些安装包。
安装顺序是 Git -> Gogs -> JDK -> Jenkins
安装Gogs和Git,可参考我这篇文章https://www.cnblogs.com/cluyun/p/10822992.html
我这里只讲解Jenkins部分。
Jenkins相关安装包这里下载:(推荐去官网下载,因为官网版本可能更新)
链接:https://pan.baidu.com/s/1KoqzGy83WrM9yfhHIQlDZw
提取码:0set
双击jdk-8u181-windows-x64.exe,然后下一步一步步直到完成。JDK的安装路径要知道。
开始配置环境变量:

属性 -> 高级系统设置 -> 高级 环境变量 -> 系统变量 Path -> 编辑;在最后面加上这句,注意分号
;C:\Program Files\Java\jdk1.8.0_211\jre\bin;C:\Program Files\Java\jdk1.8.0_211\bin;
就是JDK中的bin和jre bin的路径,看你自己的安装目录吧。我是默认的。
解压后双击jenkins.msi,下一步下一步直到完成。
打开http://localhost:8080/
找到提示中的路径,用记事本打开文件,把其中的文字复制到这里

插件安装选择推荐插件

插件安装完成以后将会创建管理员账户

运行后截图:

这个时候已经可以放到外网访问了,记得开放8080端口。
有些Jenkins安装后是英文的,不是英文或者喜欢英文的请略过这节。
中文化步骤为:
系统管理 -> 插件管理 -> 可选插件 -> 过滤:gogs -> 直接安装

安装完了后可能要重启,在网址根目录输入/restart进入点击 是 即可重启,如:http://localhost:8080/restart
开始配置Git
系统管理 -> 全局工具配置 -> 在Path to Git executable中输入Git.exe在服务器中的路径 -> 点击保存

至此,配置完成。
先建立项目然后随便放几个文件进去

然后给Jenkins分配(注册)一个专门的账号,注:不要这个账号也可以,反正就是要拿一个有权限的账号给Jenkins

给予该项目的只读权限。

添加web钩子,含义:推送代码后告诉Jenkins"帮我发布一下",然后Jenkins就会发布了,这比轮循好多了
推送地址的格式为:http(s)://<你的Jenkins地址>/gogs-webhook/?job=<你的Jenkins任务名>

添加完成之后,gogs这边就完成了。
在主界面点击新建任务,输入名字后确定,注:必须和web钩子地址里面的任务名称一致

点击确定后大概是这个样子的,介绍一下这个界面:这是在任务界面中,在主界面点击luyunDemo,即可到达这个界面。
立即构建就是可以理解为立即发布的意思。

点击配置,如果在gogs中你没有设置密钥文本,那这里可不填

点击上图的右下角高级,这个目录是代码发布后放到哪里的意思。举个例子,要是你发布前端代码,托管在iis下,那你这个目录写iis站点的真实物理路径即可实现自动化发布。

去源码管理里面设置git相关参数,写成和我一样的就行了。
稍微解释下这几个字段:

然后点击保存吧

进到任务里面点击立即构建试试代码有没有到指定路径下


很明显成功了嘛。如果失败了Jenkins构建历史应该就是红色的点击红球球进去,查看日志。可以看到详细的错误信息。

首先我们把代码克隆下来

然后做一些改动

用TortoiseGit提交到gogs上

提交完成后就看到Jenkins在自动构建了。无需任何操作。只要提交推送就好(我的图不是假的哦~可以看时间,自动化发布真的是非常nice)

打开服务器中的目录看看,发现已经成功了。棒棒棒

上面都是说构建到本地,我们来看看如何构建到其他服务器。(当然是用FTP最方便,或者你在那个服务器也装一个Jenkins本地发布)
主页面 -> 系统管理 -> 插件管理 -> 可选插件 -> 过滤:FTP -> 选择下图这个直接安装

然后去配置吧,主界面 -> 系统管理 -> Publish over FTP -> 点击新增
Name:起个名字,后面项目配置里会用的到
HostName:FTP主机名(端口号默认21,在高级里面可以改)
Username:FTP用户名
Password:FTP密码

保存后,去任务里面,点击配置。找到构建后操作->增加构建后操作步骤->Send build artifacts over FTP
Name:选择全局配置里的
Source files:选择你的发布包路径(这里是相对于工作空间的路径)
Remote directory:放到远程的哪个路径里(这里是相对于FTP根目录的路径)

配置完成后,点击保存,构建即可!
因为我们上传到gogs(git)上的的项目一般都是没有bin目录什么的,这时候就需要Jenkins去帮我们生成。
大致步骤是:Jenkins拉取代码 -> Jenkins编译生成项目 -> Jenkins传到指定目录去
这个需要安装MSBuild插件,我暂时还没有做这个,可以参考以下链接
https://www.cnblogs.com/huhubun/p/6345077.html
https://blog.csdn.net/sD7O95O/article/details/82504547
同理,core项目我们也不会有bin目录的。还是需要Jenkins自己去编译生成,不过core方便多了,用命令行就可以了。
不用在Jenkins中装插件了。这个我也暂时没有实践过,请参考以下链接:
https://www.cnblogs.com/liyouming/p/9283345.html
https://www.cnblogs.com/sunshine-wy/p/9860599.html
其实和gogs原理一样,只不过安装插件的时候安装gitee插件

然后,web钩子就是码云如下所示

参照上面gogs的构建方式即可实现从gitee构建。
终于写完了,如果对你有帮助希望点个推荐,支持下博主。。
Gogs-Windows Server下配合Jenkins自动化发布
原文:https://www.cnblogs.com/cluyun/p/10848989.html