前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于gitlab的golang项目构建

基于gitlab的golang项目构建

作者头像
天地一小儒
发布2022-12-28 14:04:23
4630
发布2022-12-28 14:04:23
举报

1. 准备Makefile

根目录下创建名为Makefile的文件。内容如下:

export VERSION=1.0.0
export ENV=prod
export PROJECT=bpsp

TOPDIR=$(shell pwd)
# OBJ_DIR=$(OUTPUT)/$(PROJECT)
# OBJTAR=$(OBJ_DIR).tar.gz
SOURCE_BINARY_DIR=$(TOPDIR)/bin
SOURCE_BINARY_FILE=$(SOURCE_BINARY_DIR)/$(PROJECT)
SOURCE_MAIN_FILE=main.go

BUILD_TIME=`date +%Y%m%d%H%M%S`
BUILD_FLAG=-ldflags "-X main.version=$(VERSION) -X main.buildTime=$(BUILD_TIME)"


# all: build pack
all: build
    @echo "ALL DONE"
    @echo "Program:         "  $(PROJECT)
    @echo "Version:         "  $(VERSION)
    @echo "ENV:             "  $(ENV)

build:
    @echo "start go build...."
    @rm -rf $(SOURCE_BINARY_DIR)/*
    @go build $(BUILD_FLAG) -o $(SOURCE_BINARY_FILE) $(SOURCE_MAIN_FILE)

# pack:
#   @echo "\n\rpacking...."
#   @tar czvf $(OBJTAR) -C $(OBJ_DIR) .

其中,bpsp可以换成任意项目名称。

2. 准备.gitlab.ci.yml

2.1绑定Runner到项目

手动绑定:进入项目>>Settings>>Runners>>Set up a specific Runner manually:

image.png

2.2下载GitLab Runner

# CentOS
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
sudo yum install gitlab-ci-multi-runner

2.3注册GitLab Runner

CentOS官方文档说明 其中,token密码从2.1图中打码的地方获取。

2.4查看Runner状态

sudo gitlab-runner list
# Listing configured runners                          ConfigFile=/etc/gitlab-runner/config.toml
# my-runner                                           Executor=docker Token=ShLLfihpPJYzm717qa41 URL=https://gitlab.com

2.5 .gitlab-ci.yml编写

image: golang:alpine

before_script:
  - export
  - mkdir -p /go/src/gitlab.com/jaderabbit/bpsp
  - cp -r . /go/src/gitlab.com/jaderabbit/bpsp/
  - cd /go/src/gitlab.com/jaderabbit/bpsp/

stages:
  - build

# jobs
build-jobs:
  stage: build
  script:
    - go build .

2.6本地测试

gitlab-runner exec docker build-jobs
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 准备Makefile
  • 2. 准备.gitlab.ci.yml
    • 2.1绑定Runner到项目
      • 2.2下载GitLab Runner
        • 2.3注册GitLab Runner
          • 2.4查看Runner状态
            • 2.5 .gitlab-ci.yml编写
              • 2.6本地测试
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档