博客
关于我
一套基础自动化部署搭建过程
阅读量: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/

你可能感兴趣的文章
ORA-01034: ORACLE not available
查看>>
ORA-01152: 文件 1 没有从过旧的备份中还原
查看>>
ORA-01207:文件比控制文件更新 - 旧的控制文件
查看>>
ORA-01795: 列表中的最大表达式数为 1000
查看>>
ORA-06575: 程序包或函数 NO_VM_DROP_PROC 处于无效状态
查看>>
ORA-08102的错误
查看>>
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor异常
查看>>
ORA-12514: TNS:listener does not currently know of service问题原因
查看>>
ora-12541:tns:no listener
查看>>
【docker知识】联合文件系统(unionFS)原理
查看>>
ORACEL学习--理解over()函数
查看>>
ORAchk-数据库健康检查
查看>>
oracle 10g crs命令,Oracle 10g CRS安装问题解决一例
查看>>
Oracle 10g ORA-01034: ORACLE not available 错误
查看>>
oracle 10g的安装配置
查看>>
Oracle 11.2.0.4 x64 RAC修改public/private/vip/scan地址
查看>>
Oracle 11G INDEX FULL SCAN 和 INDEX FAST FULL SCAN 对比分析
查看>>
viewpage listview gridview加载本地大图多图OOM处理办法
查看>>
Oracle 11g UNDO表空间备份增强
查看>>
Oracle 11g 使用RMAN备份数据库
查看>>