热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

记一次jenkins构建go项目经历

记一次jenkins构建go项目经历,Go语言社区,Golang程序员人脉社

记一次jenkins 构建 go项目经历。为什么要用jenkins 去构建go项目,方便正式、测试等环境发布。简化发布流程。

1.首先安装jenkins jenkins官方文档, 我使用的是docker compose安装的:

docker-compose.yml

version: '3'
services:
  jenkins:
    image: 'jenkins/jenkins:lts'
    container_name: jenkins
    restart: always
    ports:
      - '8088:8080'
      - '50000:50000'
    user: root
    volumes:
      - '/data/jenkins/jenkins_home:/var/jenkins_home'
  1. 安装jenkins 插件

系统管理 > 插件管理 > 可选插件 (Git Parameter、Go Plugin、Publish Over SSH等)插件 直接安装

3.添加凭证

凭证 > 全局 > 添加凭证

类型选择SSH 在jenkins 容器内生成密钥对 将公钥添加到git远程仓库,私钥添加到凭证的Private Key
在这里插入图片描述

4.全局工具配置 安装go

系统管理 > 全局工具配置

可以选择自动安装(这要看命,本人被墙无法自动安装,进入容器手动安装,然后填写安装目录)
在这里插入图片描述

4.创建构建任务-> 选择自由构建

在这里插入图片描述
在这里插入图片描述

5.构建配置

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

date_time=`date +%Y%m%d-%H%M%S`
#Create GOPATH
export GOPATH=$WORKSPACE/..
export PATH=$GOPATH:$PATH
export GO111MODULE=on
export GOPROXY=https://goproxy.io
export ENV=local
#Print Go version
go version

#Run make to perform the build
echo $GOPATH/src/go_gin
#&& go get -t -d -v ./... 
cd $GOPATH/src/gitee.com/phpjin/go_gin && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

#git config --global --unset http.proxy

推荐阅读
  • 本文档详细介绍了在 Kubernetes 集群中部署 ETCD 数据库的过程,包括实验环境的准备、ETCD 证书的生成及配置、以及集群的启动与健康检查等关键步骤。 ... [详细]
  • 本文提供了在 Kali Linux 2020.01 x64 版本上安装 Docker 的详细步骤,包括环境准备、使用清华大学镜像源、配置 APT 仓库以及安装过程中的常见问题处理。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文探讨了在Linux系统上使用Docker时,通过volume将主机上的HTML5文件挂载到容器内部指定目录时遇到的403错误,并提供了解决方案和详细的操作步骤。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 本文详细介绍了 org.apache.commons.io.IOCase 类中的 checkCompareTo() 方法,通过多个代码示例展示其在不同场景下的使用方法。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
  • 使用Jenkins构建Java项目实践指南
    本指南详细介绍了如何使用Jenkins构建Java项目,包括环境搭建、工具配置以及项目构建的具体步骤。 ... [详细]
author-avatar
ZERO-DOEN
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有