发布时间:2024-11-22 00:10:14
下面是一个基本的build.yml文件的示例:
```yaml name: Build and Test on: push: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.15 - name: Check out code uses: actions/checkout@v2 - name: Build run: go build ./... # 添加更多的步骤进行单元测试、静态代码分析等 ``` 以上代码定义了一个名为"Build and Test"的流水线,它会在推送到"main"分支时触发。该流水线使用了GitHub提供的"actions/setup-go"和"actions/checkout"动作,用于设置Golang环境和检出我们的代码。然后,它使用"go build"命令来构建我们的代码。除了构建外,我们还可以在流水线中添加其他步骤,如单元测试、代码覆盖率检查、静态代码分析等。这些步骤可以帮助我们发现和解决潜在的问题,确保交付的代码质量。
下面是一个示例,展示了如何在流水线中使用SSH动作进行服务器部署:
```yaml name: Deploy on: push: branches: [ main ] jobs: deploy: runs-on: ubuntu-latest steps: - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.15 - name: Check out code uses: actions/checkout@v2 - name: Build run: go build ./... - name: Deploy to server uses: appleboy/ssh-action@master with: host: ${{ secrets.SERVER_HOST }} username: ${{ secrets.SERVER_USERNAME }} password: ${{ secrets.SERVER_PASSWORD }} script: | cd /path/to/project ./deploy.sh ``` 在上述示例中,我们首先配置了Golang环境,并检出代码。然后,我们使用"go build"命令构建代码。最后,我们使用"appleboy/ssh-action"动作连接到远程服务器,并执行一个名为"deploy.sh"的脚本来完成部署。