Skip to content

Commit

Permalink
Version 1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Majcica, M (Mario) authored and Majcica, M (Mario) committed Dec 1, 2017
1 parent b7cd503 commit 15ba40b
Show file tree
Hide file tree
Showing 9 changed files with 55 additions and 34 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ coverage
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
dist
.vscode

# Dependency directories
node_modules
Expand Down
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Windows Machine File Copy Task (WinRM)
### Overview
The task is used to copy application files and other artifacts that are required to install the application on Windows Machines like PowerShell scripts, PowerShell-DSC modules etc. The task provides the ability to copy files to Windows Machines. The tasks uses WinRM for the data transfer.


> This task defers from the original task that ships with VSTS/TFS by the fact that this implementation uses WinRM for the file transfer instead of robocopy on which the original task is based on.
In certain situations, due to the network restrictions, mounting the drive and using the necessary protocols is not possible. Thus, for such scenarios, where WinRM is enabled, this task will solve the issue.

### Requirements

The only requirement is PowerShell V5 installed both on the build server and on the machine on which you are trying to copy the files to.

### The different parameters of the task are explained below:

* **Source**: The source of the files. As described above using pre-defined system variables like $(Build.Repository.LocalPath) make it easy to specify the location of the build on the Build Automation Agent machine. The variables resolve to the working folder on the agent machine, when the task is run on it. Wild cards like **\*.zip are not supported.
* **Machines**: Specify comma separated list of machine FQDNs/ip addresses along with port(optional). For example dbserver.fabrikam.com, dbserver_int.fabrikam.com:5986,192.168.34:5986.
* **Admin Login**: Domain/Local administrator of the target host. Format: <Domain or hostname>\ < Admin User>.
* **Password**: Password for the admin login. It can accept variable defined in Build/Release definitions as '$(passwordVariable)'. You may mark variable type as 'secret' to secure it.
* **Destination Folder**: The folder in the Windows machines where the files will be copied to. An example of the destination folder is c:\FabrikamFibre\Web.
* **Clean Target**: Checking this option will clean the destination folder prior to copying the files to it.
* **Copy Files in Parallel**: Checking this option will copy files to all the target machines in parallel, which can speed up the copying process.
41 changes: 15 additions & 26 deletions src/README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,21 @@
# WinRmFileCopy `0.1.0`
Windows Machine File Copy (WinRM)
# Windows Machine File Copy Task (WinRM)
### Overview
The task is used to copy application files and other artifacts that are required to install the application on Windows Machines like PowerShell scripts, PowerShell-DSC modules etc. The task provides the ability to copy files to Windows Machines. The tasks uses WinRM for the data transfer.

> INSTRUCTIONS
>
> Your shiny new extension is ready! Try `gulp package` to check out :)
>
> Customize your extension as you like...
> * Replace the logo.png, logo_large.svg files with your extension\'s logo.
> * Replace the icon.png, icon.svg files with your task\'s logo. We recommend inkscape to create these files.
> * Update ' + this.destinationPath('README.md'));
>
> Or publish the vsix if you\'re feeling adventurous.
>
> If you have feedback/bugs/praise for us, share it at
> http://github.com/codito/generator-vsts-task/issues
> We welcome patches/pull requests too ;)

> EDIT ME
> This content will show up in the Visualstudio Marketplace
> homepage for your extension
> This task defers from the original task that ships with VSTS/TFS by the fact that this implementation uses WinRM for the file transfer instead of robocopy on which the original task is based on.
In certain situations, due to the network restrictions, mounting the drive and using the necessary protocols is not possible. Thus, for such scenarios, where WinRM is enabled, this task will solve the issue.

# Configuration
### Requirements

> TODO
> Show how to configure the extension
The only requirement is PowerShell V5 installed both on the build server and on the machine on which you are trying to copy the files to.

# Usage
### The different parameters of the task are explained below:

> TODO
> And then document the primary flows. Feel free to link to
> your repository or website for detailed steps.
* **Source**: The source of the files. As described above using pre-defined system variables like $(Build.Repository.LocalPath) make it easy to specify the location of the build on the Build Automation Agent machine. The variables resolve to the working folder on the agent machine, when the task is run on it. Wild cards like **\*.zip are not supported.
* **Machines**: Specify comma separated list of machine FQDNs/ip addresses along with port(optional). For example dbserver.fabrikam.com, dbserver_int.fabrikam.com:5986,192.168.34:5986.
* **Admin Login**: Domain/Local administrator of the target host. Format: <Domain or hostname>\ < Admin User>.
* **Password**: Password for the admin login. It can accept variable defined in Build/Release definitions as '$(passwordVariable)'. You may mark variable type as 'secret' to secure it.
* **Destination Folder**: The folder in the Windows machines where the files will be copied to. An example of the destination folder is c:\FabrikamFibre\Web.
* **Clean Target**: Checking this option will clean the destination folder prior to copying the files to it.
* **Copy Files in Parallel**: Checking this option will copy files to all the target machines in parallel, which can speed up the copying process.
Binary file added src/images/logo-large.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/images/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed src/images/logo_large.png
Binary file not shown.
24 changes: 17 additions & 7 deletions src/vss-extension.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{
"manifestVersion": 1,
"extensionId": "win-rm-file-copy",
"name": "WinRmFileCopy",
"version": "0.1.0",
"name": "WinRm File Copy",
"version": "1.0.0",
"publisher": "mmajcica",
"description": "Windows Machine File Copy (WinRM)",
"public": false,
"galleryFlags": [
"Preview"
"Public"
],
"icons": {
"default": "images/logo.png",
"large": "images/logo_large.png"
"large": "images/logo-large.png"
},
"categories": [
"Build and release"
Expand All @@ -27,12 +27,22 @@
"uri": "http://blog.majcica.com/"
},
"support": {
"uri": "http://blog.majcica.com/"
"uri": "http://blog.majcica.com/2017/12/01/using-windows-machine-file-copy-winrm-vsts-extension"
},
"repository": {
"uri": "https://github.com/mmajcica/win-rm-file-copy"
},
"issues": {
"uri": "https://github.com/mmajcica/win-rm-file-copy/issues"
}
},
"repository": {
"type": "git",
"uri": "https://github.com/mmajcica/win-rm-file-copy"
},
"branding": {
"color": "#777",
"theme": "light"
"color": "#09090B",
"theme": "dark"
},
"content": {
"details": {
Expand Down
Binary file modified src/win-rm-file-copy/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/win-rm-file-copy/task.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"friendlyName": "Windows Machine File Copy (WinRM)",
"description": "Copy files on remote machines via WinRM",
"author": "Mario Majcica",
"helpMarkDown": "Replace with markdown to show in help",
"helpMarkDown": "[More Information](https://marketplace.visualstudio.com/items?itemName=mmajcica.win-rm-file-copy)",
"category": "Deploy",
"visibility": [
"Build",
Expand Down

0 comments on commit 15ba40b

Please sign in to comment.