diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 9a9ccaf2883..00000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-dist: trusty
-sudo: off
-language: python
-services:
- - docker
-git:
- depth: false
-addons:
- apt:
- packages:
- - libssl-dev
- - libffi-dev
- - python-dev
-install: pip install --upgrade pip tox six
-cache: pip
-jobs:
- include:
- - stage: precheck
- env: PURPOSE='Dependency Check'
- script: ./scripts/ci/dependency_check.sh
- python: 3.6
- - stage: unittest
- python: 3.6
- env: TOXENV=py36
- script: ./scripts/ci/unittest.sh
- - stage: verify
- script: ./scripts/ci/test_profile_integration.sh
- env: PURPOSE='Integration for profiles'
- python: 3.6
- - stage: verify
- script: ./scripts/ci/test_ref_doc.sh
- env: PURPOSE='RefDocVerify'
- python: 3.6
- - stage: verify
- env: PURPOSE='Load extension commands'
- script: ./scripts/ci/test_extensions.sh
- python: 3.6
- - stage: publish
- script: ./scripts/ci/publish.sh
- python: 3.6
- env: PURPOSE='Nightly Edge Build'
- if: branch = dev and type = push
- - stage: publish
- script: ./scripts/ci/build_droid.sh
- python: 3.6
- env: PURPOSE='Automation Docker'
- if: repo = Azure/azure-cli and type = push
-stages:
- - precheck
- - unittest
- - verify
- - publish
diff --git a/scripts/ci/build_droid.sh b/scripts/ci/build_droid.sh
deleted file mode 100755
index 913d4788687..00000000000
--- a/scripts/ci/build_droid.sh
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/env bash
-
-# Build the docker image for A01 automation system
-
-set -ev
-
-dp0=`cd $(dirname $0); pwd`
-
-#############################################
-# Define colored output func
-function title {
- LGREEN='\033[1;32m'
- CLEAR='\033[0m'
-
- echo -e ${LGREEN}$1${CLEAR}
-}
-
-#############################################
-# Clean up artifacts
-title 'Remove artifacts folder'
-if [ -d artifacts ] && [ "$AZURE_CLI_BUILD_INCREMENTAL" != "True" ]; then rm -r artifacts; fi
-
-#############################################
-# Build the whl files first
-if [ ! -d artifacts ]; then $dp0/build.sh; fi
-
-#############################################
-# Move dockerfile
-cp $dp0/a01/dockerfiles/py36/Dockerfile artifacts/
-
-#############################################
-# Move other scripts for docker
-cp -R $dp0/a01/* artifacts/
-
-#############################################
-# Move privates for docker
-if [ -d privates ]; then
- cp -R privates artifacts/privates
-else
- mkdir -p artifacts/privates
- echo 'placeholder' > artifacts/privates/placeholder
-fi
-
-#############################################
-# for travis repo slug, remove the suffix to reveal the owner
-# - the offical repo will generate image: azurecli-test-Azure
-# - the fork repo will generate image: azurecli-test-johnongithub
-# for local private build uses local user name.
-# - eg. azurecli-test-private-john
-title 'Determine docker image name'
-image_owner=${TRAVIS_REPO_SLUG%/azure-cli}
-image_owner=${image_owner:="private-${USER}"}
-image_owner=`echo $image_owner | tr '[:upper:]' '[:lower:]'`
-version=`cat artifacts/version`
-image_name=azureclidev.azurecr.io/azurecli-test-$image_owner:python3.6-$version
-echo "Image name: $image_name"
-
-title 'Login docker registry'
-if [ $AZURECLIDEV_ACR_SP_USERNAME ] && [ $AZURECLIDEV_ACR_SP_PASSWORD ]; then
- docker login azureclidev.azurecr.io -u $AZURECLIDEV_ACR_SP_USERNAME -p $AZURECLIDEV_ACR_SP_PASSWORD
-fi
-
-title 'Build docker image'
-docker build -t $image_name -f artifacts/Dockerfile artifacts
-
-title 'Push docker image'
-if [ "$1" == "push" ] || [ "$TRAVIS" == "true" ]; then
- docker push $image_name
-else
- echo "Skip"
-fi
-
-title 'Push docker image as latest'
-if [ "$TRAVIS" == "true" ]; then
- docker tag $image_name azureclidev.azurecr.io/azurecli-test-$image_owner:latest
- docker push azureclidev.azurecr.io/azurecli-test-$image_owner:latest
-fi
diff --git a/scripts/ci/publish.py b/scripts/ci/publish.py
deleted file mode 100644
index 5f12404eb4a..00000000000
--- a/scripts/ci/publish.py
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/usr/bin/env python
-
-# --------------------------------------------------------------------------------------------
-# Copyright (c) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT License. See License.txt in the project root for license information.
-# --------------------------------------------------------------------------------------------
-
-import os
-import argparse
-import glob
-import mimetypes
-import logging
-import re
-
-from azure.storage.blob import BlockBlobService, ContentSettings
-
-
-logger = logging.getLogger('az-publish')
-
-def publish(build, account, container, sas, **_) -> None:
- client = BlockBlobService(account_name=account, sas_token=sas)
-
- publishing_files = (p for p in glob.iglob(os.path.join(build , '**/*'), recursive=True))
- for source in publishing_files:
- if os.path.isdir(source):
- continue
-
- blob_path = os.path.join(os.environ['TRAVIS_REPO_SLUG'],
- os.environ['TRAVIS_BRANCH'],
- os.environ['TRAVIS_BUILD_NUMBER'],
- os.path.relpath(source, build))
-
- content_type, content_encoding = mimetypes.guess_type(os.path.basename(source))
- content_settings = ContentSettings(content_type, content_encoding)
- logger.info(f'Uploading {blob_path} ...')
- client.create_blob_from_path(container_name=container,
- blob_name=blob_path,
- file_path=source,
- content_settings=content_settings)
-
-
-def generate_package_list_in_html(title: str, links: list):
- package_list = '\n'.join((f' {p}
' for p in links))
- return f"""
-