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

你可能感兴趣的文章
npm报错fatal: Could not read from remote repository
查看>>
npm报错File to import not found or unreadable: @/assets/styles/global.scss.
查看>>
npm报错TypeError: this.getOptions is not a function
查看>>
npm报错unable to access ‘https://github.com/sohee-lee7/Squire.git/‘
查看>>
npm淘宝镜像过期npm ERR! request to https://registry.npm.taobao.org/vuex failed, reason: certificate has ex
查看>>
npm版本过高问题
查看>>
npm的“--force“和“--legacy-peer-deps“参数
查看>>
npm的安装和更新---npm工作笔记002
查看>>
npm的常用操作---npm工作笔记003
查看>>
npm的常用配置项---npm工作笔记004
查看>>
npm的问题:config global `--global`, `--local` are deprecated. Use `--location=global` instead 的解决办法
查看>>
npm编译报错You may need an additional loader to handle the result of these loaders
查看>>
npm设置淘宝镜像、升级等
查看>>
npm设置源地址,npm官方地址
查看>>
npm设置镜像如淘宝:http://npm.taobao.org/
查看>>
npm配置安装最新淘宝镜像,旧镜像会errror
查看>>
NPM酷库052:sax,按流解析XML
查看>>
npm错误 gyp错误 vs版本不对 msvs_version不兼容
查看>>
npm错误Error: Cannot find module ‘postcss-loader‘
查看>>
npm,yarn,cnpm 的区别
查看>>