美文网首页前端工程化
自动化部署项目到服务器

自动化部署项目到服务器

作者: 帅而不花__美而不浪 | 来源:发表于2017-07-02 14:55 被阅读0次

如果你准备上传项目到服务器(ftp 或者 Sftp服务器Sftp和ftp 区别、工作原理等(汇总ing)),那么开始阅读吧,希望会对你有所帮助。

这里介绍两种方式:

  1. 利用 Webstorm自带的部署方式
  2. 编写 Shell脚本的方式

方式一、Webstrom

参考 如何在Webstorm/Phpstorm中设置连接FTP,并快速进行文件比较,上传下载,同步等操作,Sftp同理,只需要切换一下对应的类型即可,

这里写图片描述

方式二、Shell

提示Linux命令大全,下面涉及到的命令这里都有。

Sftp:

先决条件:

需要解决的两个问题:

  1. 自动登录到服务器(保证脚本执行不中断)
  2. 切换到服务器环境(保证操作服务器中文件)

1、自动登录到服务器

解决方式:ssh-keygen的使用方法及配置authorized_keys两台linux机器相互认证,有的同学可能有多个私钥(已经生成过Github私钥),可以参照多个 SSH KEY 的管理 进行生成。

2、切换到服务器环境(Here Document

解决方式:Linux Shell远程执行命令(命令行与脚本方式)

脚本:

进入到要上传的项目目录中,

# 移除本地压缩文件
rm -rf dist.tar.gz

# 压缩文件,其中 dist为要上传的文件所在目录
tar -zcvf dist.tar.gz dist/

# 上传到服务器(需要输入密码,如果已经进行过私钥配置,则不用),其中/home/savoygu/gusaifei 为上传文件所在目录
scp  -r dist.tar.gz root@47.93.xxx.xxx:/home/savoygu/gusaifei

# 登录到服务器(需要输入密码,如果已经进行过私钥配置,则不用)
# 服务器环境开启
ssh root@47.93.xxx.xxx << EOF

# 进入目标目录
cd /home/savoygu/gusaifei
# 解压
sudo tar -zxvf dist.tar.gz --strip-components 1
# 移除线上压缩文件
sudo rm -rf 

exit
EOF
# 服务器环境结束
echo 上传完成!

ftp:

参考:ftp自动上传下载文件(Shell脚本)及ftp命令详解

脚本(文件上传):

进入到要上传的项目目录中,

ftp -n<<!  
# open 服务器ip
open 47.93.xxx.xxx  
# user 用户名 密码
user savoygu ******
binary  
# 上传至服务器指定目录
cd /home/savoygu/gusaifei  
# 要上传的本地目录
lcd ./dist
prompt  
mput *.*
close  
bye  
!  

提示Linux命令大全,上面涉及到的命令这里都有。

相关文章

  • jenkins+gogs 自动化部署

    使用jenkins自动化部署,可以大大减少打包项目部署到服务器的时间,提高工作效率,减少一些重复的工作,所以学会使...

  • Docker镜像服务器磁盘空间清理

    我们开发环境Jenkins构建项目时报服务器磁盘空间不足,导致项目自动化构建部署失败, Docker镜像服务器磁盘...

  • Jenkins自动化部署JavaWeb项目

    前段时间在公司服务器上配置了Jenkins,目前有两个客户项目已经设置为自动化部署。公司Jenkins部署服务器、...

  • 15_Linux服务器编写shell脚本

    在项目上线之后,采用Jenkins自动化集成工具帮助我们自动化部署项目,往往需要在服务器编写Shell脚本来自动更...

  • git webhooks实现自动部署

    前言 项目改动频繁,每次都需要手动提交到服务器,过程过于繁琐,所以决定使用自动化部署来简化项目部署过程。 使用技术...

  • 自动化部署项目到服务器

    如果你准备上传项目到服务器(ftp 或者 Sftp服务器Sftp和ftp 区别、工作原理等(汇总ing)),那么开...

  • Jenkins上构建Android指南

    Jenkins 是款牛逼的自动化服务器 ,提供n个插件来支持构建,部署和自动化任何项目。因为项目需要,特来搞搞 J...

  • IDEA--一键部署maven项目到服务器

    借助IDEA一键部署项目到服务器中 项目部署的几种方式: 通过jar包部署 通过git拉取代码在服务器运行部署 通...

  • 自动化部署 docker 项目

    自动化部署 docker 项目 Jenkins + Ansible + Gitlab 自动化部署 基于docker...

  • 自动化部署 docker 项目

    自动化部署 docker 项目 Jenkins + Ansible + Gitlab 自动化部署 基于docker...

网友评论

    本文标题:自动化部署项目到服务器

    本文链接:https://www.haomeiwen.com/subject/svwncxtx.html