Recommended Workflow¶

One of the most useful features of Anaconda Server is its ability to help you manage package development and deployment in a seamless fashion. Below you can find a write-up of the actual development process and channel usage employed by one of our internal Wakari team.

Leveraging Channels for Workflow Separation¶

Using multiple channels allows your team to maintain separate package states and easily earmark and control the versions and states of packages that users can install. For example, your team might create the following channels:

  • master
  • staging
  • release

Master is created any time something is merged into our master branch. It’s considered the development build of all of our components that make up Wakari. Code that makes it to this should be stable and have been confirmed independently, but a full QA test has not been run on it yet.

Once we’re ready to start working on a release, we create a staging:X.Y.Z branch. This contains all code that’s going to go into a release. No new features should be introduced at this point, just any last minute bug fixes to existing code.

The staging channel gets culled so only the latest package is maintained in it — any alpha, beta, or dev packages are removed. After all testing is complete, all issues are resolved, and the channel contains only one version of each package, we copy that package into a release:X.Y.Z channel, then lock that channel.

We’ve used this through 4 release cycles and so far its worked out well for us.

  • Anaconda Platform
  • – Welcome
  • – Anaconda
  • – Repository
    • Administrator guide
      • Install/Uninstall Anaconda repository
        • Install summary
        • 1. Install MongoDB 2.6
        • 2. Create the Anaconda repository administrator account
        • 3. Install Miniconda
        • 4. Download and install Anaconda repository enterprise packages
        • 5. Configure Anaconda repository
        • 6. Start and log on to Anaconda server
        • 7. Set up automatic restart on reboot, fail or error
        • 8. Client configuration
        • 9. Install Anaconda Repository License file
        • 10. (Optional) Mirror installers for Anaconda and Miniconda
        • 11. (Optional) Adjust IPTables to accept requests on port 80
        • 12. Mirror Anaconda Cloud
        • Uninstall Anaconda repository
        • For additional help
        • Advanced topics
          • Advanced Installation Options
          • Troubleshooting your Anaconda repository installation
          • Maintenance and configuration concerns
          • User administration
          • Client configuration
          • Adding a PyPI or Anaconda Mirror
          • Recommended Workflow
            • Leveraging Channels for Workflow Separation
          • Anaconda repository requirements and verification
        • Did you find what you needed on this page?
      • Anaconda repository command line interface
      • Cross platform (“Noarch”) package support in Anaconda repository
      • IPython notebook support in Anaconda repository
      • Anaconda repository FAQ
      • Anaconda repository changelog
      • Anaconda repository end user license agreement
    • User guide
    • What’s new in 2.18.0?
  • – Enterprise notebooks
  • – Package & environment management
  • – Cluster management
  • – Anaconda Cloud
  • Open source incubated projects
  • – Blaze
  • – Bokeh
  • – conda
  • – dask
  • – llvmlite
  • – PhosphorJS
  • – Numba