# azure-connectiontoolkit-cicd

> Azure Global Connection Toolkit - CI/CD Tool

Latest version **0.0.4** (published 2017-03-01) · MIT license · 0 weekly downloads

## Install

```sh
npm install azure-connectiontoolkit-cicd
pnpm add azure-connectiontoolkit-cicd
yarn add azure-connectiontoolkit-cicd
bun add azure-connectiontoolkit-cicd
```

Provides the command `azmigrate`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.4 |
| Published | 2017-03-01 |
| First published | 2017-02-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 10 |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| Author | Azure China CAT |
| Maintainers | herbchung |
| Keywords | azure, node, migration, national, sovereign, cloud, cicd, connection |

## Links

- npm: https://www.npmjs.com/package/azure-connectiontoolkit-cicd
- Repository: https://github.com/Azure/AzureGlobalConnectionToolkit
- Homepage: https://github.com/Azure/AzureGlobalConnectionToolkit#readme
- Issues: https://github.com/Azure/AzureGlobalConnectionToolkit/issues
- npm.io page: https://npm.io/package/azure-connectiontoolkit-cicd

## Dependencies (10)

- [uuid](https://npm.io/package/uuid.md) ^3.0.1
- [commander](https://npm.io/package/commander.md) ^2.9.0
- [azure-storage](https://npm.io/package/azure-storage.md) ^1.4.0
- [ms-rest-azure](https://npm.io/package/ms-rest-azure.md) ^1.15.2
- [multi-progress](https://npm.io/package/multi-progress.md) ^2.0.0
- [azure-arm-compute](https://npm.io/package/azure-arm-compute.md) ^0.19.1
- [azure-arm-network](https://npm.io/package/azure-arm-network.md) ^0.17.0
- [azure-arm-storage](https://npm.io/package/azure-arm-storage.md) ^0.14.0-preview
- [azure-arm-resource](https://npm.io/package/azure-arm-resource.md) ^1.6.1-preview
- [applicationinsights](https://npm.io/package/applicationinsights.md) ^0.18.0

## Alternatives

- [@expo/fingerprint](https://npm.io/package/@expo/fingerprint.md) — 6.2M weekly downloads
- [@azure/monitor-opentelemetry-exporter](https://npm.io/package/@azure/monitor-opentelemetry-exporter.md) — 850.0K weekly downloads
- [@azure/monitor-opentelemetry](https://npm.io/package/@azure/monitor-opentelemetry.md) — 624.0K weekly downloads
- [@posthog/ai](https://npm.io/package/@posthog/ai.md) — 423.3K weekly downloads
- [fakefilter](https://npm.io/package/fakefilter.md) — 63.9K weekly downloads

## Recent versions

- 0.0.4 (latest) — 2017-03-01
- 0.0.3 — 2017-02-28

## README

# CICD Tool - Cross Platform CLI for MAC, Linux and Windows

[![NPM version](https://badge.fury.io/js/azure-connectiontoolkit-cicd.png)](http://badge.fury.io/js/azure-connectiontoolkit-cicd)

Continuous Integration Continuous Delivery (CICD) Tool help customers to migrate their services between Azure datacenters, independent of the location and/or environment.

Given the scenario, one company has a VM in Azure East Asia hosting their web services. Subject to the business growth, they need to extend their web services into China, and they need a tool to help them replicate the VM into Azure China East. Besides, when there is an update to the web services in Azure East Asia, they want the change to be apply to the VM in Azure China East.

CICD Tool is designed to solve this problem by helping customer with minimum effort to replicate/migrate between different Azure datacenters. Moreover, it opens up the possibility to integrate the migration into the customer’s DevOps process. Ultimately, we are trying to evolve the CICD tool to help integrate services across different regions.

The cross platform version of CICD tool is a node.js based cmdlet which support platforms including Mac, Linux and Windows.

## Features

### ARM VM Migration

* Support ARM VM migration from/to Azure, Azure in China and Azure in Germany.
* Support data sync through VHD copy.

VM migration will be complete through four phases.

1. __Validate:__ Validation will check the prerequisite and requirement in source/destination environment to ensure the smooth migration.
2. __Prepare:__ Preparation will build up the dependencies of migration in destination including storage accounts and resource groups.
3. __VHDs Copy:__ VHD Copy will start the blob copy between source and destination.
4. __VM Build:__ VM Build will use the source VM configuration to build up the same VM in destination and perform validation after migration.

## Supported Environment

Before installation, please make sure you have downloaded and installed the [latest Node.js and npm](https://nodejs.org/en/download/package-manager/).

## Installation

### Install from npm

To install CICD cross-platform CLI, run following command to install npm package.

```bash
npm install -g azure-connectiontoolkit-cicd
```

On Linux distributions, you might need to use sudo to successfully run the npm command, as follows:

```bash
sudo npm install -g azure-connectiontoolkit-cicd
```

## Get Started

### ARM VM Migration

To use CICD cross platform CLI, base command is:

```bash
azmigrate vm
```

Meanwhile, you need to input the information for each parameter to make it work. Here is the parameter list and description.

First of all, you need to specify the source environment and destination environment of migration. For example, AzureCloud to AzureChinaCloud.

_-e, --srcEnv_

`source Azure environment (default is AzureCloud if not specified)`

_-E, --destEnv_

`destination Azure environment`

Then, you need to specify the authentication mode you want to use, service principal or username/password. If MFA is enabled, you need to select service principal mode as authentication mode.

In service principal mode, you need to specify following information:

_-i, --srcClientId_

`source AAD application client ID`

_-I, --destClientId_

`destination AAD application client ID`

_-c, --srcSecret_

`source AAD application secret`

_-C, --destSecret_

`destination AAD application secret`

_-d, --srcDomain_

`source domain or tenant id containing the AAD application`

_-D, --destDomain_

`destination domain or tenant id containing the AAD application`

In username/password mode, you need to specify following information:

_-u, --srcUserName_

`source AAD account user name`

_-U, --destUserName_

`destination AAD account user name`

_-p, --srcPassword_

`source AAD account password`

_-P, --destPassword_

`destination AAD account password`

Then, you need to specify the source/destination subscription:

_-s, --srcSubId_

`source subscription ID`

_-S, --destSubId_

`destination subscription ID`

Finally, you need to specify the VM you would like to migrate and the target location:

_-g, --srcGroup_

`source resource group name of the virtual machine`

_-n, --srcName_

`source virtual machine name`

_-L, --destLocation_

`destination location`

For example, a complete command will be like this:

```bash
azmigrate vm -E AzureChinaCloud -d srcTenantId -i srcAppId -c srcAppSecret -D destTenantId -I destAppId -C destAppSecret -s srcSubId -S destSubId -g srcVmRg -n srcVmName -L chinaeast 
```

## Need Help?

Please contact [Azure Global Connection Team](mailto:amcteam@microsoft.com) if you have any issue or feedback.

---
_Source: https://npm.io/package/azure-connectiontoolkit-cicd · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
