Code Monkey home page Code Monkey logo

ads-deploy's Introduction

ads-deploy docker image + tools

ads-deploy bridges the gap between your PLC project in TwinCAT XAE + Visual Studio and the Python/EPICS tools we use for development and deployment (PyTMC, ads-ioc) by providing a full EPICS and Python environment in a containerized Docker image.

Features

  • pytmc pragma linting / verification
  • Build and run ads-based EPICS IOCs directly from Windows
  • Generate batch files to run the IOC outside of Visual Studio
  • Auto-generate and run simple Typhon screens directly from Windows
  • No need to transfer your project and files to a Linux machine just to generate the IOC

Installation

Note: this is partly outdated - Docker is no longer required and conda may be used in place of it

Step-by-step notes are available here: https://confluence.slac.stanford.edu/display/PCDS/Installing+ads-deploy+on+Windows

Using just the Docker container is simple on all platforms. Run the following to check it out:

Windows

C:\> docker run -it pcdshub/ads-deploy:latest /bin/bash

OSX / Linux

$ eval $(docker-machine env)
$ docker run -it pcdshub/ads-deploy:latest /bin/bash

Updating versions

Steps to update ads-deploy:

  1. Update ads-ioc-docker (follow its README)
  2. Tag and release pytmc (use v0.0.0 style as usual)
  3. Update the FROM pcdshub/ads-ioc version
  4. Update environment variables: PYTMC_VERSION, ADS_IOC_VERSION
  5. Rebuild. Match the ADS_DEPLOY_VERSION with the pytmc version, as it tends to change the most:
    $ export ADS_DEPLOY_VERSION={pytmc version}
    $ docker build -t pcdshub/ads-deploy:${ADS_DEPLOY_VERSION} .
    $ docker build -t pcdshub/ads-deploy:latest .
    
  6. Push to DockerHub
    $ docker push pcdshub/ads-deploy:${ADS_DEPLOY_VERSION}
    $ docker push pcdshub/ads-deploy:latest
    
  7. Commit, tag, and push to GitHub
    $ git tag ${ADS_DEPLOY_VERSION}
    $ git push
    $ git push --tags
    

Links

ads-deploy's People

Contributors

klauer avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.