[toc]

写在前面

最近在公司学习到一个新玩意-Gokins基于Golang开发的自动化构建工具, 在此之前我是使用有使用过Jenkins进行项目自动化部署,Gokins相比于Jenkins功能非常简单,使用起来也非常方便,下面本文将以Gokins完成项目后端的部署。

Gokins的安装

方法一

直接服务器服务器下载Gokins(以ubuntu为例),使用以下命令:

wget http://down.gokins.cn/static/golang/gokins/gokins

下载完成后可能需要更改权限:

chmod 777 gokins

运行Gokins:

./gokins &

直接访问:

http://your:8030/

方法二

使用docker安装,首先您的服务器上有安装docker, 然后直接使用命令:

docker pull mgr9525/gokins:latest

运行容器:

docker run -d -p 8030:8030 mgr9525/gokins:latest

直接访问:

http://your:8030/

如何使用

关于Gokins官方文档写得更好这里不做介绍了,参考Gokins官方文档

部署项目

登录Gokins后,新建流水线,填写项目名称,项目描述,项目托管仓库(github,gitlab,gitee等)

注意:如果是项目不公开或者不是仓库目录模式下,需要填写仓库拥有者的账号并且需要填写Access Token。

注意:这里有一个小问题,项目拉取不下来,没有权限的原因,但是我填写了相关的数据,所以这里我先将项目从远程仓库clone到了我的服务器。

接下来填写yaml文件:

version: 1.0
vars:
stages:
  - stage:
    displayName: build
    name: build
    steps:
      - step: shell@bash
        displayName: bash
        repo: /home/ubuntu/gokins/web
        name: bash
        commands:
          - git pull
          - nohup go run main.go > web-go.log

这里您可能需要修改repo: /home/ubuntu/gokins/web指你项目在服务器上位置

将日志写入到日志文件中nohup go run main.go > web-go.log,保存yaml后,直接点击构建,即可完成项目的部署,构建输出:

git pull														 00:02
1											 2023-06-21 16:25:43
Already up to date.
nohup go run main.go > web-go.log    00:00
1

我们还可以在服务器上查看日志文件web-go.log

[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /v1/pong                  --> main.Pong (3 handlers)
[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
[GIN-debug] Listening and serving HTTP on :8093

这样整个项目就构建完成了。