当前位置: 首页 > news >正文

2分钟在阿里云ECS控制台部署个人应用(图文示例)

作为一名程序员,我有大量的个人代码和应用托管在Github/Gitee这些代码仓库。当我想要部署这些代码到我的阿里云ECS服务器时,往往会很麻烦,主要问题有这些:

  • 需要手动安装和配置git,过程非常繁琐。
  • 每次都需要登录到机器上执行命令完成部署。
  • 如果是docker部署项目,还要安装和配置docker。
  • 没有过往的部署记录。
  • 每新开一台机器,上述过程全部要重来一遍。

不知道大家有没有同感~

最近发现阿里云ECS控制台上线了一个构建部署的新功能,可以免除这些前期的安装配置工作,打通github/gitee仓库和阿里云ECS,一键部署。本文参考该功能的阿里云官方文档编写,感兴趣的朋友可以看一下。

先po一下适用场景和使用限制吧:

适用场景

  • 适用于在单台ECS上构建部署。如果您需要在多台ECS实例上部署应用,请参见构建部署示例模板。
  • 代码源为Gitee或GitHub平台的代码仓库。

前提条件

部署应用的ECS实例需满足以下条件:

  • ECS实例为Linux操作系统。
  • ECS实例需开通公网。具体操作,请参见为ECS实例开通公网。
  • ECS实例必须处于运行中状态。
  • ECS实例已安装云助手,并且云助手状态为正常。(云助手一般ECS都已预装)

下面详细说一下怎么使用,官方文档提供了一个示例代码,本文也借用这个示例演示。

gitee:gitee示例代码(中国内地建议使用gitee)

github:github示例代码

操作步骤

  1. 把上述阿里云官方gitee代码fork到自己的gitee仓库。

  2. 在ECS管理控制台,找到想要部署到的ECS实例,点击进入详情页。在定时与自动化任务里找到构建部署

  3. 点击创建执行,填入代码源配置构建部署配置相关信息。

  4. 点击下一步确定,即可开始执行构建部署。这个执行会拉取你指定的仓库代码到ECS上,并在代码根目录运行构建部署脚本。过程中会自动检测安装git,docker,自动帮你git clone代码等等。

  5. 执行结束后,可以在浏览器中输入http://ECS实例公网IP:8080/hello查看已部署的应用。页面返回如下信息,说明已部署成功。(这个示例,ECS需开通入方向8080端口,具体操作,请参见添加安全组规则。)

  6. 所有部署执行记录都会保存。如果gitee仓库代码更新了,可以直接点击再次执行,又会自动拉取最新代码,重新构建部署。

总结

这个功能可以帮助我打通github/gitee代码仓库和阿里云ECS,并且省去了构建部署中的很多繁琐的安装配置,方便个人开发者快速实现CI/CD,可以把更多精力放在应用本身的实现上。

关于本文,如果您在实践过程中遇到问题欢迎留言,up看到都会回的。另外,听说点赞收藏越多,up回得越快~ 有阿里云ECS的朋友快去试试吧!

相关文章:

2分钟在阿里云ECS控制台部署个人应用(图文示例)

作为一名程序员,我有大量的个人代码和应用托管在Github/Gitee这些代码仓库。当我想要部署这些代码到我的阿里云ECS服务器时,往往会很麻烦,主要问题有这些: 需要手动安装和配置git,过程非常繁琐。每次都需要登录到机器…...

2023.8 用于生物医学问答的选择性 UMLS 知识注入

Selective UMLS knowledge infusion for biomedical question answering Selective UMLS knowledge infusion for biomedical question answering | Scientific Reports 韩国首尔国立大学研究生院生物工程跨学科项目 问题 如何高效地将生物医学知识注入预训练语言模型&#x…...

chat2db调用ollama实现数据库的操作。

只试了mysql的调用。 其它的我也不用,本来想充钱算了。最后一看单位是美刀。就放弃了这分心。于是折腾了一下。 本地运行chat2db 及chat2db ui https://gitee.com/ooooinfo/Chat2DB clone 后运行起来 chat2db的java端,我现在搞不清这一个项目是有没有…...

Rust 生态系统的未来与学习方向

Rust 生态系统的未来与学习方向 Rust 作为一门系统编程语言,因其内存安全性、并发性能以及生态的不断壮大,已逐渐成为开发者和企业的首选语言之一。随着技术的进步,Rust 的生态系统持续发展,涉及多个领域,包括 Web 开…...

Vue的基础使用

一、为什么要学习Vue 1.前端必备技能 2.岗位多,绝大互联网公司都在使用Vue 3.提高开发效率 4.高薪必备技能(Vue2Vue3) 二、什么是Vue 概念:Vue (读音 /vjuː/,类似于 view) 是一套 构建用户界面 的 渐进式 框架…...

c++中,头文件包含iostream.h和`<iostream>`的差别

引言 在编写c代码时&#xff0c;有时候包含头文件iostream.h&#xff0c;有时候又包含<iostream>&#xff0c;初学者会对此感到很疑惑。 实际上&#xff0c;这两者是同一个头文件&#xff0c;只是包含方式不同&#xff0c;这是由于C的历史原因造成的&#xff0c;下面解释…...

界面控件DevExpress WPF中文教程:TreeList视图及创建分配视图

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…...

软件工程笔记二—— 软件生存期模型

目录 瀑布模型 瀑布模型的特点 阶段间具有顺序性和依赖性。 推迟实现的观点 质量保证的观点 瀑布模型的优点 瀑布模型的缺点 快速原型模型 快速原型模型的优点 快速原型模型的缺点 增量模型 增量模型的优点 增量构件开发 螺旋模型 完整的螺旋模型&#xff08;顺…...

关于若依500验证码问题的求助

关于若依框架中验证码出现500错误的问题&#xff0c;这通常表示服务器内部错误。以下是一些可能的原因及解决方案&#xff1a; 一、配置文件问题 .env.production文件&#xff1a; 确保.env.production文件中的VUE_APP_BASE_API已经修改成服务器上的域名地址&#xff0c;而不…...

网络安全:守护数字世界的坚固防线

随着信息技术的飞速发展&#xff0c;网络已成为我们生活中不可或缺的一部分。它为我们提供了便捷的信息获取、交流娱乐的渠道&#xff0c;但同时也带来了前所未有的安全挑战。网络安全&#xff0c;这一看似遥远却又紧密相连的概念&#xff0c;正日益成为我们共同关注的焦点。 …...

Vue前端开发,组件及组件的使用

什么是组件 组件(Component)是Vue中最强大的功能之一&#xff0c;每个Vue 文件就是一个个独立的组件&#xff0c;组件也可以被其他组件调用&#xff0c;形成嵌套关系&#xff0c;大部分的应用都是由各类不同功能的小组件进行构建&#xff0c;形成一个功能强大的大组件树系统&a…...

from sklearn.feature_selection import VarianceThreshold.移除低方差的特征来减少数据集中的特征数量

VarianceThreshold 是 scikit-learn 库中的一个特征选择类&#xff0c;它通过移除低方差的特征来减少数据集中的特征数量。这种方法特别适用于删除那些在整个数据集中几乎不变的特征&#xff0c;因为这些特征对于模型的预测能力贡献不大。 参数&#xff1a; threshold&#x…...

git 同步上游仓库到远端仓库

首先知道什么是本地仓库&#xff0c;远端仓库&#xff0c;上游仓库 本地仓库&#xff1a;你从远端仓库克隆到本地 PC 上的仓库 远端仓库&#xff1a;从上游仓库 fork 过来的仓库&#xff0c;可以理解为自己的仓库 上游仓库&#xff1a;公司的仓库&#xff0c;所有权不在于你 当…...

SQL中的时间类型:深入解析与应用

在数据库管理系统中&#xff0c;时间数据的处理是至关重要的一环。无论是记录事务的创建时间、用户的登录时间&#xff0c;还是进行数据分析时的时间序列处理&#xff0c;时间类型都扮演着不可或缺的角色。SQL&#xff08;Structured Query Language&#xff09;作为与数据库交…...

如何用分布式数据库解决慢查询问题

当使用MySQL时&#xff0c;我们不可避免地会遇到许多与慢查询相关的问题。 为了解决这些慢SQL的问题&#xff0c;我们通常需要投入大量的精力去研究执行计划、考虑合适的索引策略、精心改写SQL语句&#xff0c;甚至可能需要调整程序逻辑。然而&#xff0c;针对特定SQL的优化往…...

vscode文件重定向输入输出(竞赛向)

VS Code 中文件重定向输入输出 在使用 VS Code 调试或运行 C 程序时&#xff0c;可以使用文件重定向来方便地从文件读取输入并将输出写入文件&#xff0c;而不是修改代码中的 ifstream 和 ofstream。 方法一&#xff1a;在终端中使用文件重定向 假设你的 C 程序文件为 main.…...

[Linux]IO多路转接(上)

1. IO 多路转接之select 1.1 select概述 select 是系统提供的一个多路转接接口&#xff0c;其核心工作在于等待。它能够让程序同时监视多个文件描述符上的事件是否就绪&#xff0c;只有当被监视的多个文件描述符中有一个或多个事件就绪时&#xff0c;select 才会成功返回&…...

基于Java的药店管理系统

药店管理系统 一&#xff1a;基本介绍开发环境管理员功能模块图系统功能部分数据库表设计 二&#xff1a;部分系统页面展示登录界面管理员管理进货信息界面管理员管理药品信息界面管理员管理员工界面管理员管理供应商信息界面管理员管理销售信息界面员工对信息进行管理员工对销…...

LaTeX之四:如何兼容中文(上手中文简历和中文论文)、在win/mac上安装新字体。

改成中文版 如果你已经修改了.cls文件和主文档&#xff0c;但编译后的PDF仍然显示英文版本&#xff0c;可能有以下几个原因&#xff1a; 编译器问题&#xff1a;确保你使用的是XeLaTeX或LuaLaTeX进行编译&#xff0c;因为它们对Unicode和中文支持更好。你可以在你的LaTeX编辑器…...

Unity自动LOD工具AutoLOD Mesh Decimator的使用

最近在研究大批量物体生成&#xff0c;由于我们没有专业美术&#xff0c;在模型减面工作上没有人手&#xff0c;所以准备用插件来实现LOD功能&#xff0c;所以找到了AutoLOD Mesh Decimator这个插件。 1&#xff0c;导入插件后&#xff0c;我们拿个实验的僵尸狗来做实验。 空…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...