您当前的位置:首页 > 新闻 > 科技

一套基础自动化部署搭建过程

时间:2020-03-14 16:16:54  来源:  作者:

问题背景

公司初创技术团队,没有任何基础设施的情况下,需要搭建一系列code管理以及自动化部署等工具….所以引发了下面一系列的部署过程,历时两天,中间也是碰到各种问题,但最终把基本工具全部搭建成功,耶~,下面带大家一起看下此次搭建过程。

资源

服务器一台,centos的,公司就给了一台配置较低的服务器当临时服务器,没办法了,就这么搞吧。

思考:如果我用传统的yum来安装,肯定会被我装乱七八糟,还不方便自己管理维护,左右为难的情况下我选择了Dokcer,可能有些小伙伴问Docker是啥怎么用,不要慌这里有传送门:

https://segmentfault.com/a/1190000016254236#articleHeader0

测试环境搭建

为了快速搭建一套php测试环境我决定用laradock了,虽然文件很多,但是里面封装的东西也是比较全的,后期开发不知道会用到什么技术,就决定先用这个,随时可以启动用得到的服务。

laradock官方文档给的介绍也很全面,我这里采用的方式是部署多套项目方式目录结构如下:

+laradock+project-1+project-2

开始使用:

1.git clone https://github.com/laradock/laradock

2.cp env-example .env

env 里面的配置可以修改的,可以根据自己情况进行调整

3.docker-compose up -d Nginx php-fpm MySQL redis

后面可以加上你要启动的程序,像rabbitmq、mongo等等,需要的时候追加在尾部就可以启动,首次启动时间有点长

4.docker-compose exec --user=laradock workspace bash

像laravel等项目肯定少不了composer,执行这个命令进入工作区,就可以执行composer了

5.docker-compose exec nginx nginx -s reload

肯定有人会问我更改了nginx配置是不是每次都要进入nginx容器去重启,或者把整个容器都重启了呀,不用的,执行这个命令就可以重启nginx了。nginx站点配置文件在哪里呢:./laradock/nginx/sites/

先运行下试试吧。

GitLab

现在运行环境已经搭建好了,我代码应该怎么存放呢,其实有很多的选择,要根据自己的实际情况出发,如:GitHub、码云、GitLab等等,我选择的是GitLab,刚开始没有发现laradock其实提供了GitLab服务。。只能自己折腾了,其实很简单。

dockerrun-d-p443:443-p8080:80-p222:22--namegitlab--restartalways-v/home/gitlab/config:/etc/gitlab-v/home/gitlab/logs:/var/log/gitlab-v/home/gitlab/data:/var/opt/gitlabgitlab/gitlab-ce#参数解释:#-d:让容器后台运行#-p:暴露端口,把容器的443端口指向到宿主机443端口,宿主机8080->容器80,宿主机222->容器22#宿主机端口可以根据自己的情况自己定制#-name给你的容器起个名,只要不和现有的重复就可以#--restart当容器退出时docker是否重启#-v 这就是挂载磁盘了,把宿主机的目录挂载到容器中,这么做哪怕是容器坏了我的内容也不会丢失。#宿主机/home/gitlab/config目录挂载到容器中/etc/gitlab目录,宿主机目录根据自己情况定#gitlab/gitlab-ce这个就是要启动的镜像,如果镜像不存在,docker会自动下载最新版

容器启动成功之后会有一段时间来启动GitLab,看到启动成功立马访问是访问不到的,稍微等一下就可以了,配置文件都在你指定的宿主机目录下可以修改,需要修改的内容如下:

gitlab_rails['gitlab_ssh_host']='宿主机IP'#宿主机的IP地址gitlab_rails['gitlab_shell_ssh_port']=222#暴露给宿主机的ssh端口external_url'域名'#分配给gitlab的域名,可以用nginx做反向代理到8080端口

Jenkins

实现自动化部署有很多种方式如:webhook、Jenkins、Travis CI等等,我的选择是Jenkins,因为之前部署用过所以这里依旧用了这个,laradock依旧提供了Jenkins服务,又是因为没发现自己搭建了一个。。。看来下次要先多看看在动手了。

dockerrun-d--namemyjenkins-p8181:8080-p50000:50000-v/home/jenkins/:/var/jenkins_homejenkins/jenkins#参数解释#-d:让容器后台运行#-p:暴露端口,宿主机8181->容器8080,宿主机50000->容器50000#-v 这就是挂载磁盘了,把宿主机的目录挂载到容器中,这么做哪怕是容器坏了我的内容也不会丢失。#宿主机/home/jenkins/目录挂载到容器中/var/jenkins_home目录,宿主机目录根据自己情况定

是不是也很简单~。~ ,但是Jenkins安装成功后会有一个初始化密码,怎么查看初始化密码呢,有两种方式:

#第一种方式dockerlogs<你的容器名字>#这样就可以查看容器输出的内容#第二种方式cat/home/jenkins/secrets/initialAdminPassword#这里好的/home/jenkins需要替换成你挂载的目录

jenkins配置

初始化

一套基础自动化部署搭建过程

 

输入你上面获取到的初始化密码,下一步我选择的是推荐安装,后面自己需要的自己可以再去插件库安装。

插件安装

初始化成功之后前往系统设置->插件管理安装几个必要插件:

PublishOverSSHGitLabPlugin#因为是使用的Gitlab所以要安装这个NodeJSPlugin#我们前端使用的Vue所以要用到node

开始征程

一、基础配置

安装完插件之后需要配置一些基础内容如jdk、node、ssh等

1.ssh安装

进入:Manage Jenkins-> Configure System

一套基础自动化部署搭建过程

 

点击高级:

一套基础自动化部署搭建过程

 

点击Test Configuration测试是否连接成功

2.jdk、git

进入:Manage Jenkins-> Global Tool Configuration

一套基础自动化部署搭建过程

 

我这里jdk、git采用自动安装,jdk安装时候需要一个账号,去注册下就可以

3.nodejs安装

一套基础自动化部署搭建过程

 

 

二、创建工程

一套基础自动化部署搭建过程

 

 

  • 新建一个工程
  • 选择自由风格

三、配置工程

一套基础自动化部署搭建过程

 

设置最多保留几个版本构建

一套基础自动化部署搭建过程

 

使用git源码工具,输入git地址、添加git用户

一套基础自动化部署搭建过程

 

if[-f"test.tar.gz"];thenrmtestv.tar.gzfitar-zcvftest.tar.gz./*

这里为什么要把项目打包呢,因为下面要配置的ssh不支持文件夹传输,所以需要先将内容进行打包然后去服务器进行解包

一套基础自动化部署搭建过程

 

全部保存好就可以去构建了。耶~



Tags:自动化部署搭建   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
问题背景公司初创技术团队,没有任何基础设施的情况下,需要搭建一系列code管理以及自动化部署等工具&hellip;.所以引发了下面一系列的部署过程,历时两天,中间也是碰到各种问题,但...【详细内容】
2020-03-14  Tags: 自动化部署搭建  点击:(106)  评论:(0)  加入收藏
▌简易百科推荐
非法购买公民信息、开发人脸认证规避技术&hellip;&hellip;今年年初,广东省公安厅网安部门侦破全国首例破解“青少年防沉迷系统”的新型网络犯罪案件,抓获犯罪嫌疑人13名,查处非...【详细内容】
2021-12-28    人民日报客户端  Tags:数据安全步   点击:(5)  评论:(0)  加入收藏
就在今天,腾讯方面宣布将在2022年1月31日下架企业QQ和营销QQ,其实这一消息的降临并不让笔者意外,因为早在今年的10月28日20点之后,企业QQ和营销QQ就被停止了续费服务。相信很多...【详细内容】
2021-12-27  科技探险家    Tags:企业QQ   点击:(21)  评论:(0)  加入收藏
日前,上海交通大学发布《全球电竞之都评价报告》,对全球15个致力于发展电竞之都的城市进行评价,上海作为中国城市电竞发展的排头兵,其拥有众多优质电竞企业及完整产业集群,因此排...【详细内容】
2021-12-27  经济日报    Tags:电竞   点击:(3)  评论:(0)  加入收藏
为优化网络氛围环境,微博又开始整顿用户信息了。本月月初,微博官方发布公告,要求昵称中带有如“二货”“SB”“瘪三”“娘炮”等明显低俗或侮辱性词汇的用户尽快修改,否则将面临...【详细内容】
2021-12-24  运了个营    Tags:微博   点击:(10)  评论:(0)  加入收藏
昨日谷歌宣布,自2022年12月19日开始停止对OnHub的软件支持,OnHub路由器仍将提供Wi-Fi信号,但用户无法用谷歌Home应用程序管理它。无法更新Wi-Fi网络设置、添加额外的Wifi设备或...【详细内容】
2021-12-22  雷峰网    Tags:Google OnHub   点击:(5)  评论:(0)  加入收藏
IT之家 12 月 20 日消息,百度网盘青春版 iOS 客户端今日晚间率先开启内测,安卓客户端将在稍后内测。使用苹果 iPhone 的IT之家小伙伴可以点此下载内测版,需要先下载 TestFlight...【详细内容】
2021-12-21  IT之家    Tags:百度网盘   点击:(10)  评论:(0)  加入收藏
对于拼车单,是接还是不接,不少网约车司机表示很矛盾。接吧,钱少事多,常常跑了个寂寞,不接吧,车多客少,挑三拣四没饭吃。 在平台大力推广拼车单之下,不少司机迫于生活压力,最终还是打...【详细内容】
2021-12-17  网约车情报分享    Tags:滴滴   点击:(9)  评论:(0)  加入收藏
蓝鲸TMT频道12月16日讯,据饿了么官方微信公众号,近日,在圆桌会上,蓝骑士与平台交流了配送安全问题。饿了么表示,线上将技术手段融入安全防护;线下将持续进行安全培训,并试点智能头...【详细内容】
2021-12-17    金融界  Tags:饿了么   点击:(24)  评论:(0)  加入收藏
开源最前线(ID:OpenSourceTop) 猿妹编译项目地址: https://github.com/restic/restic全球知名代码托管平台 GitHub 今天就重磅发布了今年的年度报告&mdash;&mdash;《2021 年度 O...【详细内容】
2021-12-17  Python部落    Tags:   点击:(9)  评论:(0)  加入收藏
新京报快讯 据中国网络视听节目服务协会网站消息,12月15日,中国网络视听节目服务协会发布了《网络短视频内容审核标准细则》(2021)。中国网络视听节目服务协会组织有关短视频平...【详细内容】
2021-12-16    新京报  Tags:短视频   点击:(11)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条