GitLab在CentOS上的集成应用案例
在CentOS环境中,GitLab作为代码托管平台,与Jenkins(CI/CD工具)集成,实现Java代码的自动拉取、编译、测试及打包部署。具体流程为:
http://jenkins-server/job/java-project/build?token=YOUR_TOKEN),实现代码推送自动触发Jenkins Pipeline。build(mvn clean package编译打包)、deploy(将war包复制到Tomcat的webapps目录并重启Tomcat)两个阶段,仅对main分支触发。针对Java项目,GitLab与Arbess(国产开源CI/CD工具)、SourceFare(代码扫描工具)集成,构建“代码提交-扫描-构建-部署”的质量管控流水线。具体步骤为:
针对Angular前端项目,GitLab通过.gitlab-ci.yml文件定义流水线,实现代码构建与自动部署到CentOS服务器的Nginx服务器。具体配置为:
build(使用Node.js镜像安装依赖、执行ng build --prod生成dist目录)和deploy(使用Ruby镜像,通过sshpass将dist目录下的文件上传到CentOS服务器的/usr/share/nginx/html/目录,并重启Nginx)两个阶段。SERVER_USER(服务器用户名)、SERVER_PASSWORD(服务器密码)、SERVER_IP(服务器IP)等变量,避免敏感信息泄露。main分支的代码提交触发流水线。在CentOS环境中,GitLab与Kubernetes集群集成,通过GitLab Runner作为执行器,实现代码的自动构建、镜像推送及k8s部署。具体流程为:
kubeconfig文件。build(使用Docker镜像构建应用镜像,推送至私有仓库)和deploy(使用kubectl应用deployment.yaml文件,替换镜像标签)两个阶段,变量包括KUBECONFIG(k8s配置)、REGISTRY_USERNAME(仓库用户名)、REGISTRY_PASSWORD(仓库密码)。在CentOS上使用Docker容器化部署GitLab,提升部署效率和资源利用率,并集成常见工具(如Git、Maven、Kubernetes)。具体步骤为:
gitlab/gitlab-ce或国产镜像twang2218/gitlab-ce-zh),通过docker run命令创建容器,映射端口(80:80、443:443、22:22),挂载配置(/etc/gitlab)、日志(/var/log/gitlab)、数据(/var/opt/gitlab)目录到宿主机,实现数据持久化。docker exec进入容器配置GitLab与Jenkins、k8s的集成(如设置Webhook、添加Runner)。