构建
Go 私有包的构建和使用
· ☕ 2 分钟
1. 创建一个 Go Modules 项目 创建目录 1 2 mkdir go-test cd go-test 初始化包 1 2 3 4 5 go mod init gitlab.private.com/shaowenchen/go-test go: creating new go.mod: module gitlab.private.com/shaowenchen/go-test go: to add module requirements and sums: go mod tidy 添加业务代码 main.go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package main import ( "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "hello world.", }) }) r.Run() } 下载依赖到 vendor 1 2 go mod tidy go mod vendor 本地运行 1 2 3 4 5 go run

如何在 Docker 中使用 Docker
· ☕ 3 分钟
1. 典型适用场景 在 CI 中,通常会有一个 CI Engine 负责解析流程,控制整个构建过程,而将真正的构建交给 Agent 去完成。例如,Jenkins 、GitLab 均是如此。 如下图, 连接 CI Engine 的 Agent, 种类很多。这是为了满足不同项目对构建环境的要求。 同时 Agent 是动态的,构建时才需要,

为什么要使用远端构建
· ☕ 2 分钟
1. 提高自动化水平 远端构建通常需要借助一定的 CI 工具,比如 Github Actions 、Travis CI 等。如果是内网环境,可以借助 GitLab CI ,添加一个 CI 节点进行自动化构建,可以参考 我的 GitLab 文档 。 自动化的好处不言而喻,能规范流程、节约大量时间,具有明显的收益。 2. 有利于其他人参与

如何构建一个 Java 工程
· ☕ 5 分钟
首先,编译器需要将 .java 文本文件编译为 .class 字节码,然后 JVM 执行 .class 字节码文件。流程并不复杂,本文主要记录一些在编译、运行时的相关过程。 1. 单个文件源代码 新建文本文件 Hello.java 1 2 3 4 5 public class Hello { public static void main(String[] args) { System.out.println("Hello, world!"); } } 编译源码 1 javac Hello.java 执行字节码 1 java Hello 2. 多个源码文件 使用

前端自动化构建工具 gulpjs
· ☕ 4 分钟
1. 前端自动化构建工具 在处理前端场景时,用 Less 写 CSS,用 Jade 写 HTML,用 Browserify 模块化,为非覆盖式部署的资源加 MD5 戳等。这些工作如果纯手工来做,工作效率将会非常低。而前端自动化构建工具可以把这些重复工作一次配置,多次重复执行,极大的提高开发效率。 前端