博客
关于我
一套基础自动化部署搭建过程
阅读量:331 次
发布时间:2019-03-03

本文共 1749 字,大约阅读时间需要 5 分钟。

公司技术团队从零开始搭建开发环境的故事

作为一家初创公司,技术团队从零开始搭建开发环境的经历一定充满挑战。经过两天的奋战,我们最终成功搭建了必要的工具,这对团队的后续开发工作起到了至关重要的作用。本文将记录我们从环境搭建到工具配置的全过程,希望能为有类似需求的开发者提供一些参考。

资源与选择

在资源匮乏的情况下,我们只有一台CentOS服务器。为了避免使用传统的yum安装带来的管理复杂性,我们选择了Docker。Docker的容器化技术使得环境一致性和维护变得更加简单。

测试环境搭建

为了快速搭建一个包含Nginx、PHP-FPM、MySQL等常用服务的测试环境,我们选择了laradock。laradock提供了丰富的预制镜像和配置,适合快速部署开发环境。通过以下命令,我们可以快速启动所需服务:

# 克隆laradock仓库git clone https://github.com/laradock/laradock.git# 复制环境配置cp env-example .env# 启动服务docker-compose up -d nginx php-fpm mysql redis# 进入工作区docker-compose exec workspace bash

Nginx的配置文件可以找到 /laradock/nginx/sites/ 目录下。通过 docker-compose exec nginx -s reload 命令可以动态重启Nginx服务。

GitLab部署

在环境搭建完成后,我们需要一个代码管理平台。选择GitLab的原因是它提供了强大的代码托管功能。通过以下Docker命令,我们可以快速启动一个GitLab服务器:

# 启动GitLabdocker run -d \    -p 443:443 -p 8080:80 -p 222:22 \    --name gitlab \    --restart always \    -v /home/gitlab/config:/etc/gitlab \    -v /home/gitlab/logs:/var/log/gitlab \    -v /home/gitlab/data:/var/opt/gitlab \    gitlab/gitlab-ce# 访问GitLab需要几秒钟

启动成功后,可以通过宿主机的域名访问GitLab界面。通过修改配置文件,我们可以将SSH端口设置为222,同时域名设置为外部访问地址。

Jenkins配置

为了实现自动化部署,我们选择了Jenkins。通过以下命令,我们可以快速启动一个Jenkins服务器:

# 启动Jenkinsdocker run -d \    -p 8181:8080 -p 50000:50000 \    --name myjenkins \    -v /home/jenkins/:/var/jenkins_home \    jenkins/jenkins

Jenkins容器启动后会自动生成初始化密码,可以通过 docker logs 查看密码,或者通过 /home/jenkins/secrets/initialAdminPassword 文件读取。

插件安装与配置

Jenkins安装完成后,我们需要安装一些必需插件。推荐安装的插件包括:

  • GitLab插件(支持GitLab代码托管)
  • Node.js插件(支持前端开发)
  • SSH插件(支持代码推送)

通过 Jenkins 管理界面进入系统设置,配置工具安装和插件管理。我们还需要配置JDK、Git、Node.js等开发工具,选择自动安装方式即可。

创建并配置项目

新建一个自由风格的项目,选择Git仓库地址并添加Git用户。通过配置构建触发器,选择GitLab作为代码源。构建过程中,可以通过SSH传输代码包,或者将项目打包后上传到服务器。

总结

从零开始搭建开发环境的过程虽然充满挑战,但通过Docker和laradock的帮助,我们成功建立了一套完整的测试环境。GitLab和Jenkins的集成使得代码管理和自动化部署变得更加高效。希望这个过程能为其他团队提供一些参考。

转载地址:http://tnkq.baihongyu.com/

你可能感兴趣的文章
nodejs中Express 路由统一设置缓存的小技巧
查看>>
nodejs中express的使用
查看>>
Nodejs中搭建一个静态Web服务器,通过读取文件获取响应类型
查看>>
Nodejs中的fs模块的使用
查看>>
NodeJS使用淘宝npm镜像站的各种姿势
查看>>
NodeJs入门知识
查看>>
nodejs包管理工具对比:npm、Yarn、cnpm、npx
查看>>
NodeJs单元测试之 API性能测试
查看>>
nodejs图片转换字节保存
查看>>
nodejs在Liunx上的部署生产方式-PM2
查看>>
nodejs基于art-template模板引擎生成
查看>>
nodejs字符与字节之间的转换
查看>>
NodeJs学习笔记001--npm换源
查看>>
NodeJs学习笔记002--npm常用命令详解
查看>>
nodejs学习笔记一——nodejs安装
查看>>
vue3+Element-plus icon图标无法显示的问题(已解决)
查看>>
NodeJS实现跨域的方法( 4种 )
查看>>
nodejs封装http请求
查看>>
nodejs常用组件
查看>>
nodejs开发公众号报错 40164,白名单配置找不到,竟然是这个原因
查看>>