阿里云运维部署工具AppDeploy最佳实践-问答-阿里云开发者社区-阿里云

开发者社区> 阚俊宝> 正文

阿里云运维部署工具AppDeploy最佳实践

2015-08-25 16:06:27 13064 6

阿里云 AppDeploy-Python 版是一个通过SSH 实现的流式命令行工具,可用于完成应用部署和远程运维管理,其工作于python 平台上,具有良好的可移植性;AppDeploy 将本地应用软件上传到远端服务器,并通过执行用户预定义的产品部署命令。

详细说明与下载地址:
http://market.aliyun.com/products/53690006/cmgj000321.html?spm=5176.900004.4.4.6romuX#3

本文为您带来几个使用AppDeploy 的经典场景:
1 楼:AppDeploy 高效运维管理命令
2 楼:一键应用部署 之Mysql +Nginx + PHP
3 楼:一键应用部署 之JDK +Mysql + Nginx + Tomcat
4 楼:一键应用部署 之Mysql +Apache + PHP
取消 提交回答
全部回答(6)
  • 运维涂
    2015-11-19 17:51:35
    Re阿里云运维部署工具AppDeploy最佳实践
    使用中  遇到一个问题     我用appdeploy工具去执行其他机器上的tomcat启动脚本,脚本内容就是去调用tomcat的startup.sh脚本,但是实际工作中,却发现并不能启动远程机器上的tomcat   但是  手工ssh上机器去执行启动脚本  tomcat能正常使用。不知道你们有没有遇到过这个问题
    0 0
  • 老猪来了
    2015-08-29 14:28:51
    Re阿里云运维部署工具AppDeploy最佳实践
    对比 saltstack ansible之类的有哪些方面的进步呢?

    -------------------------

    Re阿里云运维部署工具AppDeploy最佳实践
    加油!

    我来提个痛点吧, 希望能够提供 web UI.  集成到控制台就最好了.

    -------------------------

    Re阿里云运维部署工具AppDeploy最佳实践
    http://www.infoq.com/cn/articles/azure-saltstack

    微软 Azure云平台 直接整合的 saltstack

    0 0
  • 看头像
    2015-08-28 09:57:45
    好像很不错哈
    0 0
  • 零云科技
    2015-08-25 18:57:34
    学习了
    0 0
  • 妙正灰
    2015-08-25 17:47:35
    终于写完了。我以回复了~~

    -------------------------

    回 4楼(6boys) 的帖子
    那么升级怎么破呢?
    0 0
  • 阚俊宝
    2015-08-25 16:13:30
    Re阿里云运维部署工具AppDeploy最佳实践

    高效运维管理命令:


    1. 实时监控服务器状态
    执行命令:$ adepcheck_status 将得到服务器的具体信息,包括ip 、route 、dns 、resolve 、iptables 、mount 、disk 、load 等;

    也可以在命令后面加具体参数查看部分信息,例如:
    当前支持:ip 、route 、dns 、resolve 、iptables 、mount 、disk 、load ;

    $ adep check_status:resolve


    $ adep check_status:disk



    2. 实时监控服务器带宽
    在命令行执行 $ adepcheck_bandwidth   将会得到下面动态数据:

    其中红框内的数据分别为:
    提示按”e” 字母退出监控状态:此处注意输入格式;
    服务器流入带宽实时数据(动态显示):分别显示KB/s 和Mb/s 两中常见数据格式;
    服务器流出带宽实时数据(动态显示):分别显示KB/s 和Mb/s 两中常见数据格式;

    3. 文件的上传下载:
    通过命令行类似shell 命令的方式实现:

    具体操作的哪些服务器、用户名、密码信息由appdeploy.py 文件定义;

    文件上传命令格式:$ adep put:localfile,remoteFolder
        “put”、”:”、”localFile”、”,”、”remoteFolder”之间都没有空格;
        LocalFile:本地上传文件路径及名字,RemoteFolder:上传到服务器的具体目录;

    文件下载命令格式:$ adep get:remoteFile,localFolder
        ”get”、”:”、”remoteFile”、”,”、”localFolder”之间都没有空格;

        RemoteFile:从服务器上下载的文件名,localFolder:下载文件本地存放目录;

            


    4. 远程命令执行:
    通过命令行类似shell 命令的方式实现:
    具体操作的哪些服务器、用户名、密码信息由appdeploy.py 文件定义;

           命令远程执行格式:$ adep run:shellCommand
            “run”、”:”、”shellCommand”之间都没有空格;
            ShellCommand:指远端执行的命令,有空格时要用引号引起来;
            


    5.一键更新服务源
    命令行输入 $ adep update_source
    可以更新服务器端的源配置,支持Ubuntu 、Centos 、Redhat 、Opensuse 、Debian 等系统的多个版本源更新功能;

          

    -------------------------

    Re阿里云运维部署工具AppDeploy最佳实践


    一键部署Web服务器之Mysql + Nginx + PHP



    1.在appdeploy.py中输入以下定义
            def runtime():
                componets={"nginx"   : "1.4.4",
                   "php"    : "5.6.11",
                   "mysql"   : "5.6.26"
                   }
              install_runtime(componets)
    2.在命令行执行下面命令,由于全部为源码安装,安装会占用相对较长时间。
            $ adep runtime


    3.应用部署上线:上传您的PHP项目
            下面代码表示将本地PHP项目上传到服务器:/aliyun/www/phpwind目录;
            def deploy_php():
                put("./php/*", "/aliyun/www/phpwind/")


            执行: $ adep deploy_php


    4.检验应用部署效果
            

    -------------------------

    Re阿里云运维部署工具AppDeploy最佳实践

    一键部署Web服务器之JDK + Mysql + Nginx + Tomcat


    1.在appdeploy.py中输入以下定义
        def runtime():
            componets={ "jdk"    : "1.8.0",
                                 "nginx"   : "1.4.4",
                                 "tomcat" : "7.0.63",
                                 "mysql"   : "5.6.26"
                                 }
         install_runtime(componets)


    2.在命令行执行下面命令,由于全部为源码安装,会占用相对较长时间。
        $ adep runtime


    3.应用部署:上传您的java项目
        下面任务会将本地java项目编译、打包、上传到服务器(基于Maven,appdeploy会自动检测您的maven程序是否安装,若没有安装,则会自动安装):
        最后上传到服务器的/aliyun/server/tomcat/webapps目录;
        def pack_deploy():
            componets={"plugin": "maven",
                   "project_dir" : "./java/myFirstWebApp",
                   "web_dir"   : "/aliyun/server/tomcat/webapps"
                   }
        package(componets)
        deploy(componets)


        执行: $ adep pack_deploy


    4.检验应用部署效果
        

    -------------------------

    Re阿里云运维部署工具AppDeploy最佳实践

    一键部署Web服务器之Mysql + Apache + PHP


    1.在appdeploy.py中输入以下定义
        def runtime():
              componets={ "apache" : "2.2.31",
                   "php"   : "5.6.11",
                   "mysql"  : "5.6.26"
                   }
        install_runtime(componets)


    2.在命令行执行下面命令,由于全部为源码安装,会占用相对较长时间。
        $ adep runtime


    3.应用部署:上传您的PHP项目
        下面代码表示将本地PHP项目上传到服务器:/aliyun/www/phpwind目录;
        def deploy_php():
            put("./php/*", "/aliyun/www/phpwind/")
        执行: $ adep deploy_php


    4.检验应用部署效果
        

    -------------------------

    Re阿里云运维部署工具AppDeploy最佳实践
    升级需要自己写一个任务,其实升级是安装的另一种表现形式,可以参考安装步骤。(要考虑一下万一升级失败回滚的情况)。

    AppDeploy会逐步添加类似的使用实践,热切期盼大家提出需求,共同决定产品功能走向。

    -------------------------

    回9楼水王之王的帖子
    欢迎大家使用哈

    -------------------------

    回 11楼(老猪来了) 的帖子
    都是自动化部署的工具,AppDeploy的主要优势是添加了一些常用的使用场景,例如环境部署,快捷命令等;底层的并发执行、任务管理之类的工具都相似的。

    -------------------------

    回 14楼(老猪来了) 的帖子
    多谢多谢,Web UI正在开发中,敬请期待
    0 0
滑动查看更多
相关问答

17

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 961250浏览量 回答数 17

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 222923浏览量 回答数 162

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157032浏览量 回答数 145

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 333770浏览量 回答数 8

110

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 292211浏览量 回答数 110

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 642997浏览量 回答数 18

38

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 256819浏览量 回答数 38

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 302548浏览量 回答数 249

24

回答

【精品问答】python技术1000问(1)

问问小秘 2019-11-15 13:25:00 471163浏览量 回答数 24

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 203971浏览量 回答数 2
+关注
阚俊宝
阿里云容器服务开发,专注Kubernetes、Docker、云存储;
57
文章
37
问答
问答排行榜
最热
最新
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载