Skip to content

Go必知必会:部署(下)通过Shell脚本一键部署Go项目到服务器

为提高项目部署的效率和准确性,我们采用自动化脚本的方式进行Go项目的服务器部署。通过编写shell脚本,我们将代码同步、项目打包、交叉编译、进程重启及服务启动等一系列操作进行封装,实现一键部署的功能。此举旨在避免重复劳动,确保部署过程的一致性和可重复性。

以下是对部署流程的表述。

  1. 代码同步:首先,通过Git等版本控制系统将最新代码同步至服务器,确保代码的一致性和可追溯性。
  2. 项目打包:对项目进行打包,将所有依赖项和资源文件整合,便于后续的编译和部署。
  3. 交叉编译:利用Go语言的交叉编译特性,根据目标服务器的操作系统和架构,编译出可在服务器上运行的可执行文件。
  4. 重启****进程:在编译完成后,脚本将负责重启相关的服务进程,确保新版本代码的即时生效。
  5. 服务启动:最后,脚本将启动服务,监控服务状态,确保服务的稳定运行。

通过上述步骤,我们能够实现Go项目的自动化部署,提高开发和运维团队的工作效率。

Shell脚本一键操作

执行效果示例

  1. 自动化执行:脚本自动执行了多个步骤,减少了人工干预,提高了效率。
  2. 清晰的步骤提示:每一步都有明确的提示,如--step1:合并代码-----step2:编译---
  3. 成功提示:每个步骤完成后,都有相应的成功提示,如“合并代码成功”、“编译完成”、“更改权限完成”。
  4. 错误处理:在杀掉旧进程并运行新进程时,脚本能够处理可能出现的错误,如“杀掉进程14464”。
  5. 部署成功提示:最后,脚本提供了“部署成功,部署的进程ID为:14655”,这让用户知道部署已经完成,并且可以查看新进程的ID,方便后续管理和监控。

是不是非常友好且高效!

部署流程

  1. 本地提交代码把最新代码提交到Git仓库
  2. 在服务器上切换到shell脚本目录下,运行shell脚本,一键部署
Shell
./setup.sh

脚本代码