• Stars
    star
    131
  • Rank 275,867 (Top 6 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created almost 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Visual Studio Code extension that provides commands to deploy files of a workspace to a destination.

vs-deploy

Latest Release Installs Rating

Gitter

Visual Studio Code (VS Code) extension that provides commands to deploy files of a workspace to a destination.

The extension supports the following destination types:

Type Supports download / pull?
Amazon AWS S3 buckets X
Apps / executables / scripts (bash, batch, e.g.)
Azure blob storages X
DropBox X
External Node.js based scripts X
FTP X
HTTP(s)
Local or shared network folders inside a LAN X
Mail (SMTP)
Remote machines like other VS Code instances
REST APIs like vs-rest-api X
SFTP X
Slack
SQL
ZIP files X

There is also build-in support for the following compilers and processors:

... and these languages:

If you would like to add another translation, please read that issue first.

Donate

Table of contents

  1. Demos
  2. Recoded version
  3. Install
  4. How to use

Recoded version [↑]

I have started a new and recoded version of that extension, called vscode-deploy-reloaded, which is still in a preview, but good beta state.

Demos [↑]

Deploying to SFTP [↑]

Demo SFTP

Deploy on change [↑]

Demo Deploy on change

Download / pull from SFTP [↑]

Demo pull from SFTP

Compare files [↑]

Demo compare files

Check for newer files [↑]

Demo check for newer files

Sync when open [↑]

Demo sync when open

Deploy to ZIP file [↑]

Demo ZIP

Deploy to remote Visual Studio Code instance [↑]

Demo Remote

Install [↑]

Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter:

ext install vs-deploy

Or search for things like vs-deploy in your editor:

Screenshot VSCode Extension search

How to use [↑]

Detailed information can be found at the wiki.

Otherwise...

Settings [↑]

Open (or create) your settings.json in your .vscode subfolder of your workspace.

Add a deploy section:

{
    "deploy": {
    }
}

Packages [↑]

A package is a description of files of your workspace that should be deployed.

Add the subsection packages and add one or more entry:

{
    "deploy": {
        "packages": [
            {
                "name": "Version 2.3.4",
                "description": "Package version 2.3.4",
                "files": [
                    "**/*.php",
                    "/*.json"
                ],
                "exclude": [
                    "tests/**"
                ],
                "deployOnSave": true
            }
        ]
    }
}

Look at the wiki to get more information about packages.

Targets [↑]

A target describes where a file or package should be transfered to.

Add the subsection targets and add one or more entry:

{
    "deploy": {
        "targets": [
            {
                "type": "sftp",
                "name": "My SFTP folder",
                "description": "A SFTP folder",
                "dir": "/my_package_files",
                "host": "localhost", "port": 22,
                "user": "tester", "password": "password",

                "checkBeforeDeploy": true,

                "mappings": [
                    {
                        "source": "dir/of/files/that/should/be/mapped",
                        "target": "dir/on/target"
                    }
                ]
            },
            {
                "type": "ftp",
                "name": "My FTP folder",
                "description": "A FTP folder",
                "dir": "/my_package_files",
                "host": "localhost", "port": 21,
                "user": "anonymous", "password": "",

                "deployed": [
                    {
                        "type": "sql",
                        "engine": "mysql",

                        "queries": [
                            "TRUNCATE TABLE `debug`",
                            "TRUNCATE TABLE `logs`"
                        ]
                    },
                    {
                        "target": "https://github.com/mkloubert"
                    }
                ]
            },
            {
                "type": "local",
                "name": "My local folder",
                "description": "A local folder",
                "dir": "E:/test/my_package_files"
            },
            {
                "type": "local",
                "name": "My network folder",
                "description": "A SMB shared network folder",
                "dir": "\\\\MyServer\\my_package_files"
            },
            {
                "type": "zip",
                "name": "My ZIP file",
                "description": "Create a ZIP file in a target directory",
                "target": "E:/test"
            },
            {
                "type": "mail",
                "name": "My mail server",
                "description": "An email deployer",
                "host": "smtp.example.com", "port": 465,
                "secure": true, "requireTLS": true,
                "user": "[email protected]", "password": "P@assword123!",
                "from": "[email protected]",
                "to": "[email protected], [email protected]"
            },
            {
                "type": "script",
                "name": "My script",
                "description": "A deploy script",
                "script": "E:/test/deploy.js",
                "options": {
                    "TM": 5979,
                    "MK": "23979"
                }
            },
            {
                "type": "http",
                "name": "My HTTP service",
                "description": "A HTTP service on a HTTP server, e.g.",
                "url": "https://host.example.com/webdav/?file=${VSDeploy-File}",
                "user": "mkloubert", "password": "P@ssword123!"
            },
            {
                "type": "remote",
                "name": "My remote target",
                "description": "Some remote VS Code instances to deploy to",
                "hosts": ["localhost", "192.168.0.101", "192.168.0.101:5979"]
            },
            {
                "type": "app",
                "name": "My App",
                "description": "An app to call",
                "app": "E:/test/deploy.cmd",
                "arguments": ["a", "b", "c"]
            },
            {
                "type": "batch",
                "name": "My Batch",
                "description": "A batch operation",
                "targets": ["My mail server", "My ZIP file"]
            },
            {
                "type": "azureblob",
                "name": "My Azure blob storage",
                "description": "An container in an Azure blob storage",
                "container": "my-container",
                "account": "my-storage-account",
                "accessKey": "<ACCESS-KEY-FROM-AZURE-PORTAL>"
            },
            {
                "type": "s3bucket",
                "name": "My Amazon Bucket",
                "description": "An Amazon AWS S3 bucket",
                "bucket": "my-bucket"
            },
            {
                "type": "dropbox",
                "name": "My DropBox folder",
                "description": "Deploy to my DropBox folder",

                "token": "<ACCESS-TOKEN>"
            },
            {
                "type": "api",
                "name": "My REST API",
                "description": "Deploys to a vs-rest-api",

                "host": "vscode.example.com",
                "user": "rgrimes", "password": "lori"
            }
        ]
    }
}

Look at the wiki to get more information about targets.

How to execute [↑]

Press F1 to open the list of commands and enter one of the following commands:

Demo How to execute

Name Description Shortcut (CTRL is CMD on Mac)
Deploy: Change switch Changes the options of a switch. This command does not have a default key binding. If you want to setup a shortcut for extension.deploy.changeSwitch, you can update keybindings.json as described here.
Deploy: Compare files Compares a local file with a remote one. CTRL+ALT+P, C
Deploy: Deploy current file / folder Deploys the current opened file. CTRL+ALT+F
Deploy: Deploy workspace Deploys a specific package. CTRL+ALT+W
Deploy: Open example / template Opens a template from one or more offical and/or custom repository. This command does not have a default key binding. If you want to setup a shortcut for extension.deploy.openTemplate, you can update keybindings.json as described here.
Deploy: Pull current file / folder Pulls the current opened file. CTRL+ALT+P, F
Deploy: Pull workspace Pulls a specific package. CTRL+ALT+P, W
Deploy: Select workspace Changes the current workspace, s. Multi-root Workspaces. This command does not have a default key binding. If you want to setup a shortcut for extension.deploy.selectWorkspace, you can update keybindings.json as described here.
Deploy: Start/stop listening for files Start/stop listening for files from a remote machine. CTRL+ALT+L

More Repositories

1

vscode-kanban

Kanban board for Visual Studio Code.
JavaScript
278
star
2

vscode-remote-workspace

Multi protocol support for handling remote files like local ones in Visual Studio Code.
TypeScript
201
star
3

vscode-deploy-reloaded

Recoded version of Visual Studio Code extension 'vs-deploy', which provides commands to deploy files to one or more destinations.
TypeScript
155
star
4

nativescript-toolbox

A NativeScript module that is a composition of useful tools and helpers.
JavaScript
54
star
5

vscode-helpers

Helper functions and classes for Visual Studio Code extensions.
TypeScript
54
star
6

nativescript-social-login

NativeScript plugin for social (token based) log-ins.
TypeScript
42
star
7

phpLINQ

LINQ concept for PHP
PHP
39
star
8

vs-media-player

Visual Studio Code extension to control media players like Spotify or VLC directly from the editor.
TypeScript
28
star
9

nativescript-chatview

NativeScript UI module for implementing WhatsApp like chat applications.
TypeScript
26
star
10

vscode-http-client

Simple way to do HTTP requests in Visual Studio Code.
TypeScript
26
star
11

vs-rest-api

Visual Studio Code extension that provides a REST API to control your editor.
TypeScript
23
star
12

nativescript-bitmap-factory

A NativeScript module for creating and manipulating bitmap images.
JavaScript
22
star
13

vs-script-commands

Add additional commands that uses (JavaScript) scripts for execution.
TypeScript
16
star
14

gitea.net

.NET Library for the Gitea API.
C#
16
star
15

nativescript-apiclient

NativeScript module for simply calling HTTP based APIs.
TypeScript
16
star
16

node-enumerable

ES2017 ready LINQ features written in TypeScript.
TypeScript
13
star
17

vscode-git-notify

Visual Studio Code extension, which receives and shows git events from webhooks.
TypeScript
10
star
18

node-workflows

Simple and fast implementation of action-driven workflows for Node.js written in TypeScript.
TypeScript
10
star
19

nativescript-tasks

NativeScript module for simply invoking and handling background tasks via web workers.
JavaScript
10
star
20

nativescript-paypal

PayPal plugin for NativeScript
JavaScript
8
star
21

nativescript-enumerable

A NativeScript module providing LINQ style extensions for handling arrays and lists.
TypeScript
7
star
22

node-simple-socket

Wrapper for Node.js sockets that makes it easy to send data compressed and crypted (RSA / AES).
TypeScript
7
star
23

vs-remote-debugger

Visual Studio Code extension for easy and generic code debugging.
TypeScript
5
star
24

dwad-net

C# library for handling Doom WAD files.
C#
4
star
25

nativescript-batch

NativeScript module for implementing batch operations.
TypeScript
4
star
26

nativescript-taskpie

NativeScript module that draws Microsoft Planner like progess charts.
TypeScript
4
star
27

Collections.NET

A set of collection classes written in C#.
C#
3
star
28

nativescript-applist

NativeScript module to handle the list of installed apps on a device.
TypeScript
2
star
29

ts-toolbox

Set of useful functions, classes, modules and helpers for Node.js written in TypeScript.
TypeScript
2
star
30

js-promises

Helpers for promises, which work in Node and the browser.
TypeScript
2
star
31

vs-chat

A XMPP (Jabber) chat system for Visual Studio Code.
TypeScript
2
star
32

nativescript-routed-values

NativeScript module for implementing routed value graphs.
TypeScript
2
star
33

Extensions.NET

Set of useful extensions methods written in C#.
C#
2
star
34

php-remote-debugger

Server-side PHP library for interacting with 'vs-remote-debugger' Visual Studio Code extension.
PHP
2
star
35

vs-cron

[DEPRECATED] Visual Studio Code (VS Code) extension that runs tasks periodically.
TypeScript
2
star
36

vscode-proxy

Runs TCP proxies with additional trace support in Visual Studio Code.
TypeScript
2
star
37

node-remote-debugger

Server-side Node.js library for interacting with 'vs-remote-debugger' Visual Studio Code extension.
TypeScript
2
star
38

node-entity-baker

Generates simple and powerful entity classes for ORM systems, like Doctrine and/or Entity Framework.
TypeScript
2
star
39

vscode-easy-coffeescript

Visual Studio Code extension which compiles CoffeeScript files on save.
TypeScript
2
star
40

mkloubert

A repository about me.
1
star
41

SimpleGallery

An image gallery script in one single PHP file.
PHP
1
star
42

MJKBlog

Source code of articles of blog.marcel-kloubert.de
C#
1
star
43

CLRToolbox

Class libraries for CLR environments
C#
1
star
44

nativescript-xmlobjects

A NativeScript module that provides handling XML data as objects similar to LINQ to XML.
TypeScript
1
star
45

js-strings

String helpers.
TypeScript
1
star
46

vs-swiss-army-knife

A meta package for Visual Studio Code with useful and popular extensions.
1
star
47

TinyCloud

ASP.NET cloud environment with a RESTful JSON API.
C#
1
star
48

vscode-wiki-fs

Visual Studio Extension to provide a wiki as workspace folder.
TypeScript
1
star
49

simple-whiteboard

Simple whiteboard (web) application written in PHP.
TypeScript
1
star
50

delivery-boy-old

Node.js library that shares media files secure and crypted.
TypeScript
1
star
51

ScriptTHOR

Executes scripts by using external engines / compilers. The support for other languages can be easily realized by writing own plug-ins.
C#
1
star
52

phpLiveDoc

Website that displays live PHP documentation of classes and functions with the help of reflection and WITHOUT the need of building output documents.
PHP
1
star