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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

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

工具当前免费下载使用,地址:
http://market.aliyun.com/products/53690006/cmgj000331.html
http://market.aliyun.com/products/53690006/cmgj000321.html

本文通过三个使用场景介绍AppDeploy:

1. 高效运维管理命令:
1)实时监控服务器状态
执行命令:$ adep check_status 将得到服务器的具体信息,包括ip、route、dns、resolve、iptables、mount、disk、load等;

1

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

2

$ adep check_status:disk

3

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

4

其中红框内的数据分别为:
提示按”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:下载文件本地存放目录;
例如:

5

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

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

6

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

7

2. 一键部署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)检验应用部署效果

8

3. 一键部署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)检验应用部署效果

9

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
80 4
|
2月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
66 4
|
25天前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####
|
25天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的崛起背景,深入分析了其核心概念、关键技术、应用场景及面临的挑战,并对比了传统IT运维模式,揭示了AIOps如何引领运维管理向更高效、智能的方向迈进。通过实际案例分析,展示了AIOps在不同行业中的应用成效,为读者提供了对未来智能运维趋势的洞察与思考。 ####
61 1
|
1月前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
1月前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
61 4
|
2月前
|
存储 运维 监控
高效运维:从基础架构到自动化管理的全面指南
【10月更文挑战第11天】 本文将深入探讨如何通过优化基础架构和引入自动化管理来提升企业IT运维效率。我们将从服务器的选择与配置、存储解决方案的评估,到网络的设计与监控,逐一解析每个环节的关键技术点。同时,重点讨论自动化工具在现代运维中的应用,包括配置管理、持续集成与部署(CI/CD)、自动化测试及故障排除等方面。通过实际案例分析,展示这些技术如何协同工作,实现高效的运维管理。无论是IT初学者还是经验丰富的专业人员,都能从中获得有价值的见解和实操经验。
103 1
|
2月前
|
运维 监控 测试技术
构建高效运维体系:从监控到自动化的实践之路
【10月更文挑战第9天】 在当今信息技术飞速发展的时代,运维作为保障系统稳定性与效率的关键角色,正面临前所未有的挑战。本文将探讨如何通过构建一个高效的运维体系来应对这些挑战,包括监控系统的搭建、自动化工具的应用以及故障应急处理机制的制定。我们将结合具体案例,分析这些措施如何帮助提升系统的可靠性和运维团队的工作效率。
62 1
|
2月前
|
存储 运维 监控
高效运维管理:从基础架构优化到自动化实践
在当今数字化时代,高效运维管理已成为企业IT部门的重要任务。本文将探讨如何通过基础架构优化和自动化实践来提升运维效率,确保系统的稳定性和可靠性。我们将从服务器选型、存储优化、网络配置等方面入手,逐步引导读者了解运维管理的核心内容。同时,我们还将介绍自动化工具的使用,帮助运维人员提高工作效率,降低人为错误的发生。通过本文的学习,您将掌握高效运维管理的关键技巧,为企业的发展提供有力支持。

热门文章

最新文章