在CentOS系统下配置Golang项目的CI/CD(持续集成/持续部署)流程,可以使用多种工具和方法。以下是一个基本的指南,使用GitLab CI/CD作为示例:
首先,确保你的CentOS系统上安装了以下软件:
sudo yum install -y git go docker
.gitlab-ci.yml
文件在你的Golang项目根目录下创建一个.gitlab-ci.yml
文件,这个文件定义了CI/CD的流程。
stages:
- build
- test
- deploy
variables:
GO_VERSION: "1.17"
PROJECT_NAME: "my-golang-app"
build:
stage: build
image: golang:${GO_VERSION}
script:
- go version
- go build -o ${PROJECT_NAME} .
artifacts:
paths:
- ${PROJECT_NAME}
test:
stage: test
image: golang:${GO_VERSION}
script:
- go test ./...
deploy:
stage: deploy
image: docker:latest
services:
- docker:dind
script:
- echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
- docker build -t $CI_REGISTRY_IMAGE:${CI_COMMIT_REF_SLUG} .
- docker push $CI_REGISTRY_IMAGE:${CI_COMMIT_REF_SLUG}
确保你有一个GitLab Runner在运行,并且已经注册到你的GitLab实例。
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start
如果你需要在CI/CD流程中使用Docker,确保你的Docker守护进程正在运行,并且GitLab Runner有权限访问它。
sudo systemctl start docker
sudo systemctl enable docker
将你的代码推送到GitLab仓库,GitLab CI/CD将会自动触发构建、测试和部署流程。
git add .
git commit -m "Initial commit"
git push origin master
你可以在GitLab的CI/CD页面监控你的构建、测试和部署流程的状态。
以上是一个基本的Golang项目在CentOS系统下使用GitLab CI/CD的配置示例。你可以根据具体需求调整和扩展这个流程,例如添加更多的测试阶段、使用不同的部署目标(如Kubernetes)等。