小公司的应用一般不会太大,所以经常只需要一台服务器,就可以支撑一个产品的服务端了。所以我们考虑如下的部署架构:

准备2台服务器

1台2核8G作为生产服务器,1台2核4G作为测试服务器。两台服务器的磁盘均为100G,带宽为100M,按流量计费。

安装环境

  • 操作系统为CentOS 8.0
  • 安装MySQL、Nginx
    • 利用lnmp集成安装包,安装MySQL 8.0和Nginx,同时会安装php7.2环境
  • 安装Java环境
    • 利用OneinStack集成安装包,安装Java:
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --jdk_option 2

  • 安装好后,要注意通过执行下列语句使环境变量生效:
source /etc/profile

安装Docker环境

  • 更新yum源
yum update

  • 先移除旧版本
$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

  • 设置仓库
$ sudo yum install -y yum-utils$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

  • 安装http://containerd.io
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm

  • 安装docker-ce
$ sudo yum install docker-ce docker-ce-cli

  • 启动Docker
systemctl start docker

  • 设置开机启动
systemctl enable docker

MySQL允许远程访问(可选)

  • 开放服务器端口3306,在云平台上操作
  • 开放防火墙3306端口,在服务器上操作
vi /etc/sysconfig/iptables

  • 重启iptables
service iptables restart

  • 创建数据库远程用户
create user 'root'@'%' identified by 'xxxxx';
grant all privileges on *.* to 'root'@'%';
flush privileges;

在测试服务器中创建Jenkins

  • 拉取jenkins的docker镜像
docker pull jenkins

  • 启动jenkins容器
docker run -d -p 8080:8080 --name jenkins -u root -v /var/jenkins_home:/var/jenkins_home jenkins

  • 配置Nginx,绑定域名
  • 在/usr/local/nginx/conf/vhost下添加配置文件boss.xxx.com.8080.conf,文件内容
server {listen  80;server_name boss.xxx.com;location / {proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 300s;proxy_read_timeout 300s;proxy_send_timeout 300s;proxy_buffer_size 64k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;proxy_ignore_client_abort on;proxy_pass http://localhost:8080;}access_log /home/wwwlogs/boss.xxx.com.ng.log;
}

  • 在/usr/local/nginx/conf/nginx.conf的http节点添加
underscores_in_headers on

  • 在浏览器中访问ip:8080或者配置的域名
  • 填写jenkins密钥和设置密码等
  • 安装建议的插件,等待,可能会失败,不要紧,直接continue
  • 登录jenkins后,对jenkins进行升级
  • 再安装没有成功的插件
  • 安装Maven Integration plugin插件
  • 安装Publish Over SSH插件

利用Jenkins对Git代码进行编译、打包

centos8 安装docker_利用Jenkins和Docker实现小公司的自动部署相关推荐

  1. Jenkins+Github+Nginx实现前端项目自动部署

    Jenkins+Github+Nginx实现前端项目自动部署 前言 最近在搭建一个自己的网站,网站框架搭好了要把项目放到服务器运行,但是每次更新网站内容就要手动部署一次,实在很麻烦,于是就想搭建一套自 ...

  2. jenkins+阿里code配置vue项目自动部署

    1.jenkins是什么? Jenkins是一个开源的.提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续.自动的构建/测试软件项目.监控外部任务的运行( ...

  3. jenkins docker 自动部署 构建_jenkins+docker+vue项目的自动部署环境

    亮点 采用shell自定义脚本,控制集成部署环境更加方便灵活 如果服务器更换,重新部署的工作量会比较小 准备工作 首先我们得有一台服务器.我这里用的是阿里云ECS,华东节点.具体的购买操作的话百度会有 ...

  4. 群晖docker_利用群晖docker搭建Minecraft服务器:图形界面操作,傻瓜式教程(附官方服务器端地址)_NAS存储...

    2020-12-19 18:01:5310点赞57收藏4评论 你是AMD Yes党?还是intel和NVIDIA的忠实簇拥呢?最新一届#装机大师赛#开始啦!本次装机阵营赛分为3A红组.intel NV ...

  5. centos8安装NVIDIA显卡驱动,docker模式运行机器学习

    1.下载驱动 a.查看显卡版本,版本是1050Ti,需要在官网下载该型号驱动 [root@localhost ~]# lspci|grep -i nvidia 00:10.0 VGA compatib ...

  6. 利用Jenkins的Pipeline实现集群自动化部署SpringBoot项目

    2019独角兽企业重金招聘Python工程师标准>>> 环境准备 Git: 安装部署使用略. Jenkins: 2.46.2版本安装部署略(修改jenkins执行用户为root,省得 ...

  7. 利用Jenkins+蒲公英平台显示二维码 部署Android打包踩过的坑

    本文主要记录踩过的坑及解决方法 配置流程参考:https://blog.51cto.com/14142911/2417133 坑1: 二维码图片没有显示,只显示标签.如图: 解决: 只需要在Jenki ...

  8. Jenkins+ansible+Tomcat实现项目远程自动部署

    1. Jenkins主机安装ansible并配置主机清单 [root@localhost ~]# vim /etc/ansible/hosts 尾部添加 [tomcat] 192.168.20.120 ...

  9. Jenkins+Pipeline+Docker部署SpringBoot项目到远程服务器

    Jenkins部署 前言 Jenkins 安装 nginx配置 jenkins配置 Docker安装 项目部署 项目添加Dockerfile文件 Jenkins新建任务 使用Pipeline部署 结果 ...

最新文章

  1. python写货币转换_如何在Python中将货币字符串转换为浮点数?
  2. 第二阶段 铁大Facebook——十天冲刺(六)
  3. offsetTop和scrollTop的差别
  4. .Net 1.1下WEB引用Win控件的两个Bug
  5. 51. N皇后/52. N皇后 II
  6. 总裁导航V2.5.0-秒收录网站
  7. 在python 中is和= = 的区别
  8. LINUX查看文件系统
  9. 教你如何更好的用ubuntu
  10. 全网最全数据分析师面试干货-业务逻辑篇
  11. Web 前端学习之表单制作、网页超链接
  12. 正大国际期货:外盘黄金期货怎么做,需要注意什么?
  13. 【web前端初级课程】第二章 CSS层叠样式表
  14. 基于Qt的笛卡尔心形表白程序
  15. 微信小程序图片轮播+预览效果实现
  16. 终于有个高效率的排列组合算法
  17. MYSQL JDBC图书管理系统
  18. vue+echarts实现仪表盘
  19. RocketMQ两万字详解
  20. 修改element-ui中时间选择器的样式

热门文章

  1. 让数据库无惧灾难,华为云GaussDB同城双集群高可用方案正式发布!
  2. 遇到联邦计算数据碰撞难题怎么办?不妨试一试PSI
  3. 云图说|ASM灰度发布,让服务发布变得更敏捷、更安全
  4. 数仓ETL系统:给强大的“心脏”配上“超级流水线”
  5. 【华为云技术分享】唐老师带你秒懂大数据,以及Spark和Flink在干啥咧
  6. 【DevCloud· 敏捷智库】如何进行需求结构化管理?
  7. 华为云专线接入方案介绍
  8. 【华为云动态】华为云携手Google,IBM,SAP等多家知名企业加入CDF,助力软件开发生态发展
  9. MySQL指定存储引擎命令_MySQL常用指令(2)——存储引擎
  10. 华瑞网研(苏州)2014-11部分笔试题(社招)