golang构建项目的脚本

在vscode中配置任务是一种简化工作流程的有效方法,特别是在处理如golang项目构建这样的任务时。让我们来看看如何在vscode中配置任务以构建golang项目,同时保留原文中的图片位置和格式。

首先,让我们简单介绍一下在VSCode中如何配置任务。

VSCode配置任务的基本步骤如下:

  1. 打开命令面板:使用快捷键

    Ctrl + Shift + P
    (Windows/Linux)或
    Cmd + Shift + P
    (Mac)打开VSCode的命令面板。

  2. 选择任务配置:在命令面板中输入“Configure Tasks”并选择“Configure Tasks”选项。

  3. 选择任务模板:选择“Create tasks.json file from template”,然后选择“Others”来创建一个空的

    tasks.json
    文件。

  4. 编辑任务配置:在创建的

    tasks.json
    文件中,添加以下内容以配置Golang构建任务:

    {
        "version": "2.0.0",
        "tasks": [
            {
                "label": "Golang Build",
                "type": "shell",
                "command": "./tools/run.sh",
                "args": [
                    "${input:platform}"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "problemMatcher": []
            }
        ],
        "inputs": [
            {
                "id": "platform",
                "description": "Target platform",
                "default": "darwin",
                "type": "promptString"
            }
        ]
    }

    这个配置定义了一个名为“Golang Build”的任务,它使用

    run.sh
    脚本来构建项目,并通过用户输入来指定目标平台(如
    darwin
    linux
    windows
    )。

  5. 运行任务:使用快捷键

    Shift + Ctrl + B
    (Windows)或
    Shift + Command + B
    (Mac)来运行配置的任务。

具体的配置详情,请参阅 VSCode任务配置文档。

接下来,让我们看一下Golang构建项目的脚本示例:

以下是脚本的解释和示例:

#!/bin/bash
# 以下是配置

设置并跳转到项目根目录

projectDir=$(cd "$(dirname "$0")/../"; pwd) cd $projectDir

项目配置

projectName="example" projectDist="./dist/" projectRelease="./release"

服务器项目配置,若不是服务器项目,则无需配置

serverURL="https://www./link/1ce5e897cda6aeb211dffe8d514f4365"

打包配置

platform=$1 # darwin linux windows echo "目标:${platform}"

设置临时环境变量

export GOPATH="${projectDir}/../global:${projectDir}" export CGO_ENABLED=0 export GOOS=$platform export GOARCH="amd64"

开始打包

echo "-> 开始编译..." go build src/main.go

echo "-> 开始打包:" echo " 打包路径:${projectDist}" if [ -d "${projectDist}/" ]; then rm -r "${projectDist}/" fi mkdir "${projectDist}/"

复制资源路径到dist目录,若没有资源,则无需配置

cp -r "conf/" "${projectDist}/conf/"

移动并重命名

echo "-> 移动到dist目录" mv "main" "${projectDist}/$projectName"

授予可执行权限

chmod 777 "${projectDist}/$projectName" echo " 打包完成,程序入口:${projectDist}/$projectName"

压缩备份,方便上传,此步骤不是必须的

if [ ! -d "${projectRelease}/" ]; then mkdir "${projectRelease}/" fi tar -zcvf "$projectRelease/${projectName}-${platform}.tar.gz" "${projectDist}"

执行文件并输出日志

ps -ef|grep "$projectName"|grep -v "grep"|awk '{print $2}'|xargs kill -9 cd $projectDist ./$projectName > std.log 2>&1 &

打开服务器URL,若不是服务器项目,则无需执行该步骤

open $serverURL

这个脚本首先设置项目目录和临时环境变量,然后编译Golang项目,移动和重命名可执行文件,复制资源文件(如果有),压缩备份,最后运行可执行文件并输出日志。

最后,如果你使用Git来管理项目,记得在

.gitignore
文件中添加以下内容以忽略打包生成的目录:

dist/
release/

这样可以确保你的版本控制系统不跟踪这些临时生成的文件。

最后,附上一张可爱的土拨鼠图片吧 ^0^