使用pupput部署线上环境

注:本文侧重于pupput使用git版本控制在线上环境的部署步骤详解。

1:线上puppet加入git版本控制

详细步骤:

pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/environment]
[email protected]/0 # git init ; cd ..; git clone --bar environment /var/puppet/environment.git
Initialized empty Git repository in /etc/puppet/multi-environment/yydev/environment/.git/
Initialized empty Git repository in /var/puppet/environment.git/
warning: You appear to have cloned an empty repository.
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/application] 
[email protected]/0 # git init 
Initialized empty Git repository in /etc/puppet/multi-environment/yydev/application/.git/
warning: You appear to have cloned an empty repository.

将项目添加到git:

pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/application] 2015-04-15 17:37:53
[email protected]/0 # git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       modules/
nothing added to commit but untracked files present (use "git add" to track)
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/application] 2015-04-15 17:37:56
[email protected]/0 # git add modules
[email protected]/0 # git commit -a -m "init repo"
[master (root-commit) 8ef11ef] init repo
 Committer: root <[email protected]_wangsu_bj_192.168.3.68.centos.yypuppet.com>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

    git config --global user.name "Your Name"
    git config --global user.email [email protected]

If the identity used for this commit is wrong, you can fix it with:

    git commit --amend --author=‘Your Name <[email protected]>‘

 2 files changed, 24 insertions(+), 0 deletions(-)
 create mode 100644 modules/httpd/files/1.txt
 create mode 100644 modules/httpd/manifests/init.pp

配置提交信息:

pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/application] 2015-04-15 17:38:47
[email protected]/0 # git config --global user.name "wangyanliang"
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/application] 2015-04-15 17:39:10
[email protected]/0 # git config --global user.email "[email protected]"

配置git远程节点名称:

pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/environment] 2015-04-15 17:51:10
[email protected]/0 # git remote add origin /var/puppet/environment.git
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/environment] 2015-04-15 17:52:17
[email protected]/0 # cd ../application 
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/application] 2015-04-15 17:52:35
[email protected]/0 # git remote add app_origin /var/puppet/application.git
[email protected]/0 # git remote -v
app_origin      /var/puppet/application.git (fetch)
app_origin      /var/puppet/application.git (push)
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/application] 2015-04-15 17:53:36
[email protected]/0 # cd ../environment/; git remote -v
origin  /var/puppet/environment.git (fetch)
origin  /var/puppet/environment.git (push)
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/environment] 2015-04-15 17:57:08
[email protected]/0 # git remote rm origin
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/environment] 2015-04-15 17:57:18
[email protected]/0 # git remote add env_origin /var/puppet/environment.git
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/environment] 2015-04-15 17:57:34
[email protected]/0 # git remote -v
env_origin      /var/puppet/environment.git (fetch)
env_origin      /var/puppet/environment.git (push)

将更改推送到git仓库:

pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/application] 2015-04-15 17:59:05
[email protected]/0 # git push app_origin master:master
Counting objects: 8, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (8/8), 705 bytes, done.
Total 8 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (8/8), done.
To /var/puppet/application.git
 * [new branch]      master -> master

操作yytest目录:

2015-04-15 18:00:55
[email protected]/0 # git clone /var/puppet/environment.git environment
fatal: destination path ‘environment‘ already exists and is not an empty directory.
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yytest] 2015-04-15 18:01:10
[email protected]/0 # rm -rf environment
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yytest] 2015-04-15 18:01:38
[email protected]/0 # git clone /var/puppet/environment.git environment
Initialized empty Git repository in /etc/puppet/multi-environment/yytest/environment/.git/[email protected]/0 # git clone /var/puppet/application.git application
Initialized empty Git repository in /etc/puppet/multi-environment/yytest/application/.git/
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yytest] 2015-04-15 18:02:56
[email protected]/0 # cd environment/modules/ ;ls
ssh  test
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yytest/environment] 2015-04-16 12:52:53
[email protected]/0 # git remote rm origin
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yytest/environment] 2015-04-16 12:53:02
[email protected]/0 # git remote add env_origin /var/puppet/environment.git
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yytest/environment] 2015-04-16 12:53:23
[email protected]/0 # cd ../application ; git remote rm origin; git remote add app_origin /var/puppet/application.git
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yytest/application] 2015-04-16 12:53:54
[email protected]/0 # git remote -v
app_origin      /var/puppet/application.git (fetch)
app_origin      /var/puppet/application.git (push)

同样的操作yyprd目录:

pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yytest]
[email protected]/0 # git clone /var/puppet/application.git application
Initialized empty Git repository in /etc/puppet/multi-environment/yyprd/application/.git/
[email protected]/0 # git remote rm origin
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yyprd/application] 2015-04-16 12:48:31
[email protected]/0 # git remote add app_origin /var/puppet/application.git
[email protected]/0 # git clone /var/puppet/environment.git environment
Initialized empty Git repository in /etc/puppet/multi-environment/yyprd/environment/.git/
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yyprd] 2015-04-16 11:54:32
[email protected]/0 # ls environment/modules/
ssh  test
[email protected]/0 # git remote rm origin
pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yyprd/environment] 2015-04-16 12:49:19
[email protected]/0 # git remote add env_origin /var/puppet/environment.git

至此puppet线上部署完成:多环境配置统一,并加入git,包含开发,测试,生产。让我看看我们这个环境是怎么协同工作的吧!

2:协同撰写

我们假设用户user1,user2。

user1负责写crontab模块。

user2负责写rsyslog模块。

usr1的实施步骤:

user2的实施步骤:

此文档最近两天会更新,请大家关注!

时间: 2024-10-15 08:31:22

使用pupput部署线上环境的相关文章

express框架开发接口部署线上环境PM2

1.PM2介绍 PM2是一个线上环境下,用于启动nodejs进程守护的工具,用来保证服务的稳定及分摊服务器进程和压力. 2.下载安装 npm install pm2 -g  => pm2 --version  => 在package.json scripts中配置 "prd": "cross-env NODE_ENV=production pm2 start app.js" =>  npm run prd运行,运行结果如下图: 3.常用命令 启动:

使用Fabric批量部署上线和线上环境监控

本文讲述如何使用fabric进行批量部署上线的功能 这个功能对于小应用,可以避免开发部署上线的平台,或者使用linux expect开发不优雅的代码. 前提条件: 1.运行fabric脚本的机器和其他机器tcp_port=22端口通 2.ssh可以登录,你有账号密码 一.先说批量部署上线 先上代码,再仔细讲解,脚本如下 # -*- coding:utf-8 -*- from fabric.colors import * from fabric.api import * from contextl

(转) 线上环境部署MongoDB的官方建议

本文主要内容来自MongoDB官方文档http://docs.mongodb.org/manual/administration/production-notes/.并结合了实际工作情况进行分享. 1)软件包的选择 确保使用最新的稳定版本.目前我们线上使用的版本是2.4.6.MongoDB软件包下载页面http://www.mongodb.org/downloads. 确保线上环境总是使用64位版本.32位版本只能用于测试和开发使用,因为32位版本最大只能存储2GB的数据.启动MongoDB的时

简要的线上环境部署概览

谈到线上环境,一般开发同学,不太容易接触到.即使接触到,也只是其中的冰山一角! 所以,其实说起线上环境的部署,咱们好像都有点懂,但是又都不一定完全懂!网上的知识无穷无尽,但往往都是各司一职,对于普通同学,很难窥其全貌! 所以,我今天就来说说,一些普通的线上环境的部署步骤,和一些脚本小技巧吧.只希望通过这篇文章,能够让大家有一个运维的全局! 我将会分几条线来整理咱们的运维思路! 一.从理论上讲,我们应该怎么做? 1. 针对的是什么样的用户群体,体量大量会有多少? 这是一个部署规划的前题.为啥呢?

Docker + node(koa) + nginx + mysql 线上环境部署

在上一篇 Docker + node(koa) + nginx + mysql 开发环境搭建,我们进行了本地开发环境搭建 现在我们就来开始线上环境部署 如果本地环境搭建没有什么问题,那么线上部署的配置也就很简单了 我所使用的环境,Linux Mint,命令有不同可以适当更改 目录结构 - compose 新建,线上环境配置 - data - conf - node_modules - static - docker-compose.yml - docker-compose-prod.yml 新建

线上环境的回滚机制

[场景描述]你是否遇到过这种情况,在正常运行的线上环境下要要重新发布一个项目, [正常的操作如下]: 1.先把tomcat关掉: 2.删掉tomcat下的项目文件(按需备份),把war包放在tomcat对应正确路径下解压: 3.重启tomcat,重启后发现部署失败代码有问题则执行4,否则结束. 4.部署出错,赶紧关闭tomcat,把上一个版本/备份拷回来,再重启tomcat,结束.... 是不是觉得太low?这里tomcat关闭重启的时间太长了,并且有可能要来回拷贝解压两次~!不能忍,来巧妙使用

[Nginx笔记]关于线上环境CLOSE_WAIT和TIME_WAIT过高

运维的同学和Team里面的一个同学分别遇到过Nginx在线上环境使用中会遇到TIME_WAIT过高或者CLOSE_WAIT过高的状态 先从原因分析一下为什么,问题就迎刃而解了. 首先是TIME_WAIT: 理解一下TIME_WAIT状态产生的原因,这个问题已经被很多很多的书说烂了,但是为什么很多人还是不能解决,究其原因还是因为 大多数都是学术派,并没有真正的遇到过这样的问题,因为TIME_WAIT大量产生很多都发生在实际应用环境中. TIME_WAIT产生的原因还是因为在通讯过程中服务端主动关闭

Nginx、Tomcat线上环境优化配置

 Nginx.Tomcat线上环境优化配置 Nginx优化: Nginx安全方面的优化: 1. nginx安全优化,在nginx配置文件http标签段内添加"server_tokens  off"即可隐藏访问或者报错时提示web版本号信息. 2. server_tokens参数可以在http,server,location的位置添加 3. 还可以修改nginx的3个源码文件 4. 如还需要安全优化更改端口.用户. nginx 性能优化: 对于nginx配置文件中对优化比较有作用的一般为

【微信小程序】---线上环境搭建

一.前言 通常我们在本地电脑上开发微信小程序,调用和访问小程序会有很多问题.特别是在配有自己后端的情况下,我们通过真机访问我们的小程序会出现不可访问的问题 二.线上环境搭建 在这里我们主要以腾讯云给大家做演示 1.注册并登陆腾讯云   https://cloud.tencent.com/ 2.上传代码 a.把客户端代码和服务端代码放置在微信小程序目录下 b.将客户端代码放置到client文件加中,服务端代码放置在server文件加中 c.把原微信小程序project.config.js文件转移到