This commit is contained in:
Ray Fang 2018-08-23 04:45:06 +08:00 коммит произвёл Jon Gallant
Родитель e60be619ec
Коммит 3ad8b9bb83
2 изменённых файлов: 72 добавлений и 23 удалений

25
CHANGELOG.md Normal file
Просмотреть файл

@ -0,0 +1,25 @@
# Changelog
All notable changes to this project since 1.0.0 will be documented in this file.
## [1.0.0] - 2017-08-23
### Added
- New command to add modules to solution
- Integration with IoT Edge Simulator provided by the [iotedgehubdev CLI](https://pypi.org/project/iotedgehubdev/)
- Allow specifying name and template of the default module when creating new solutions
- Support for build options in `module.json` file
- Support for customized context path in `module.json` file
- Support for multiple registries in `.env` file
- Support for GA release of IoT Edge runtime in IoT Edge Dev Container
- Update `.vscode/launch.json` file when adding modules
### Changed
- Switch to Azure CLI IoT extension (>= 0.5.1) to monitor messages for Python >= 3.5 users
- Improve experience of creating Azure resources interactively
- Breaking changes (learn how to migrate [here](https://github.com/LazarusX/iotedgedev/wiki/migration-guides))
- Updated command list and options
- Updated logic to determine which module images to build
- New module folder structure
- Building code in Dockerfiles instead on building code natively
### Removed
- Support for `iotedgectl` and public preview runtime images

Просмотреть файл

@ -1,16 +1,12 @@
# Azure IoT Edge Dev Tool
## IOTEDGEDEV DOES NOT WORK WITH IOT EDGE GA BITS.
## ETA: Mid-August
## PLEASE WATCH THIS REPO FOR NOTIFICATIONS
[![Travis Build Status](https://travis-ci.org/Azure/iotedgedev.svg?branch=master)](https://travis-ci.org/Azure/iotedgedev)
[![VSTS Build Status](https://iotedgedev.visualstudio.com/iotedgedev-main/_apis/build/status/iotedgedev-master-ci)](https://iotedgedev.visualstudio.com/iotedgedev-main/_build/latest?definitionId=6)
The **Azure IoT Edge Dev Tool** greatly simplifies [Azure IoT Edge](https:/azure.microsoft.com/en-us/services/iot-edge/) development down to simple commands driven by Environment Variables.
The **IoT Edge Dev Tool** greatly simplifies [Azure IoT Edge](https:/azure.microsoft.com/en-us/services/iot-edge/) development down to simple commands driven by environment variables.
- It gets you started with IoT Edge development with the [IoT Edge Dev Container](#iot-edge-dev-container) and IoT Edge Solution Scaffolding that contains a sample module and all the required configuration files.
- It speeds up your inner-loop dev (dev, debug, test) by reducing multi-step build & deploy processes into one-line CLI commands and well as drive your outer-loop CI/CD pipeline. _You can use all the same commands in both stages of your development life-cycle._
- It gets you started with IoT Edge development with the [IoT Edge Dev Container](quickstart) and IoT Edge solution scaffolding that contains a default module and all the required configuration files.
- It speeds up your inner-loop dev (dev, debug, test) by reducing multi-step build & deploy processes into one-line CLI commands as well as drives your outer-loop CI/CD pipeline. _You can use all the same commands in both stages of your development life-cycle._
## Overview
For the absolute fastest way to get started with IoT Edge Dev, please see the [Quickstart](#quickstart) section below.
@ -18,7 +14,7 @@ For the absolute fastest way to get started with IoT Edge Dev, please see the [Q
For a more detailed overview of IoT Edge Dev Tool including setup and commands, please see the [Wiki](https://github.com/Azure/iotedgedev/wiki).
## Quickstart
This quickstart will run a container, create a solution, setup Azure resources, build and deploy modules to your device, setup and start the Edge Runtime and then monitor messages flowing into IoT Hub.
This quickstart will run a container, create a solution, setup Azure resources, build and deploy modules to your device, setup and start the Edge simulator and then monitor messages flowing into IoT Hub.
Here's a 3 minute video walk-through of this Quickstart:
@ -29,8 +25,13 @@ The only thing you need to install is Docker. All of the other dev dependencies
1. **Install [Docker](https://docs.docker.com/engine/installation/)**
- Open Docker Settings and setup a Shared Drive that you'll use to store your IoT Edge Solution files.
- Windows
- Be sure to check whether you are running in Linux container mode or Windows container mode.
- Linux
- We've seen some issues with docker.io. If Edge doesn't run for you, then try installing Docker CE directly instead of via docker.io. Use the [CE install steps](https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#install-docker-ce), or use the [convenience script](https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#install-using-the-convenience-script).
- By default, you need `sudo` to run `docker` commands. If you want to avoid this, please follow the [post-installation steps for Linux](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user).
1. **Run the Azure IoT Edge Dev Container**
1. **Run the IoT Edge Dev Container**
Before you run the container, you will need to create a local folder to store your IoT Edge solution files.
@ -46,30 +47,53 @@ The only thing you need to install is Docker. All of the other dev dependencies
docker run -ti -v /var/run/docker.sock:/var/run/docker.sock -v /home/iotedge:/home/iotedge microsoft/iotedgedev
```
1. **Initialize Edge Solution and Setup Azure Resources**
1. **Initialize IoT Edge solution and setup Azure resources**
`iotedgedev init`
> 'iotedgedev init' will run both 'iotedgedev solution .' and 'iotedgedev azure', which will create a solution and setup your Azure resource in a single comamnd.
1. **Build & Push IoT Edge Modules**
`iotedgedev push`
> You can also combine build, push and deploy with `iotedgedev push --deploy`
1. **Deploy Modules to IoT Edge Device**
`iotedgedev deploy`
> `iotedgedev init` will run both `iotedgedev new .` and `iotedgedev iothub setup`, which will create a new solution and setup your Azure resources in a single command.
1. **Start the IoT Edge Runtime**
> If you want to use your existing IoT Hub and IoT Edge device, you can run `iotedgedev new .`, and update the `.env` file with the IoT Hub connection string and IoT Edge device connection string. `iotedgedev new .` will add a default C# `filtermodule` to the solution. To customize this behavior, use `iotedgedev new . --module <module-name> --template <template>`
1. **Add modules to IoT Edge solution**
`iotedgedev add <module-name> --template <template>`
> Currently the available template values are `csharp`, `nodejs`, `python`, `csharpfunction`. We are working on supporting more templates.
1. **Build IoT Edge module images**
`iotedgedev build`
1. **Setup the [IoT Edge Simulator]((https://pypi.org/project/iotedgehubdev/).)**
`iotedgedev setup`
1. **Start the IoT Edge Simulator to run the solution**
`iotedgedev start`
> You can also combine setup and start with `iotedgedev start --setup`
1. **Monitor Messages sent from IoT Edge to IoT Hub**
1. **Monitor messages sent from IoT Edge Simulator to IoT Hub**
`iotedgedev monitor`
1. **Stop the IoT Edge Simulator**
`iotedgedev stop`
1. **Push IoT Edge module images**
`iotedgedev push`
1. **Deploy modules to IoT Edge device**
`iotedgedev deploy`
> You can also combine push and deploy with `iotedgedev push --deploy`
1. **Monitor messages sent from IoT Edge Runtime to IoT Hub**
`iotedgedev monitor`
## Resources
Please refer to the [Wiki](https://github.com/Azure/iotedgedev/wiki) for details on setup, usage, and troubleshooting.