LogoLogo
HomeWeb PlatformForum
  • User Manual
  • Get Started
    • Create a Pollination Account
    • Setting up an Organization
      • 1. Create an Organization
      • 2. Add Organization Seats
      • 3. Add Team Members
      • 4. Purchase and Manage CAD Licenses
      • 5. Manage License Pools
      • 6. Add Additional Computing Resources
    • Setting up Rhino, Grasshopper and Revit Plugins
      • Download CAD Plugins
      • Install CAD Plugins
      • Purchase and Manage CAD Plugins
      • The Difference between CAD Licenses and Organization Seats
  • REVIT PLUGIN
    • Getting Started in Revit
    • Exporting Energy Models from Revit
      • Understanding the Export Process
      • Managing Pollination Revit License
      • Setting Up Linked Models
      • Creating Snapshots
      • Editing and Exporting Snapshots
    • Modeling Best Practices
  • Model Editor
    • What is Pollination Model Editor
    • Getting Started
    • Workflows
    • Commands
      • By Use Case
        • Room Commands
          • Edit
          • Windows
          • New
          • Adjacency
          • Line
          • Visualize
        • Line Commands
        • Roof Commands
        • Model Commands
      • Alphabetically
        • 3D preview
        • Align
        • Auto align
        • Auto top ground
        • Change units
        • Convert to room2D
        • Create boundary
        • Create rooms
        • Explode polyline
        • Export roofs
        • Fill holes
        • Find adjacency gaps
        • Find roof gaps
        • Find roof intersection
        • Floor area change
        • Generate alignment axes
        • Import roofs
        • Join coplanar faces
        • Join segments
        • Merge Small Rooms
        • Merge rooms
        • Multipliers to geometry
        • Offset
        • Offset windows
        • Preview roofs
        • Pull to room
        • Remove colinear vertices
        • Remove holes
        • Remove short segments
        • Repair windows
        • Resolve roof overlaps
        • Roof to shade
        • Separate plenums
        • Set air boundaries
        • Show tilt
        • Simplify Curved Edges
        • Simplify windows
        • Snap to grid
        • Solve adjacency
        • Split
        • Split core and perimeter
        • Subtract roofs
        • Subtract rooms
        • Validate model
        • Vertically split
    • Supported File Formats
      • Export
      • Import
    • Python Script Editor
      • Your First Python Script
      • Editor Class API Documentation
      • Available Python Libraries
    • FAQ
    • Changelog
  • Rhino Plugin
    • Getting Started in Rhino
    • Modeling Best Practices
      • Create Rooms
      • Create Apertures
      • Create Doors
      • Solve Adjacency
      • Create Shade or Context
      • Editing your Model
      • Using Room Selection Mode
    • Energy Modeling
      • Assign Program Types
      • Assign Construction Sets
      • Assign HVAC Systems
      • Energy Settings and Parameters
      • Run Simulation and Load Results
    • Daylight Modeling
      • Assign Modifier Sets
      • Assign Modifiers
      • Add Sensor Grid
      • Add View
      • Run Simulation and Visualize Daylighting Results
    • Interoperability
      • Ladybug Tools Grasshopper Plugins
        • Entity components
      • Import
        • Import HBJSON
        • Import gbXML
        • Import OSM
        • Import IDF
      • Export
        • Export HBJSON
        • Export gbXML
        • Export OSM and IDF
    • Troubleshooting
      • Rhino Plugin Errors
      • Validation Error Codes
    • Pollination Commands
      • By Use Case
        • General
        • Geometry Setup
        • Model Alignment & Updates
        • Setup & Run Simulation
        • Load, Visualize, and Export Results
      • Alphabetically
        • PO_AddApertureShades
        • PO_AddApertures
        • PO_AddAperturesByWWR
        • PO_AddBuildingShades
        • PO_AddDoors
        • PO_AddOpaqueFaces
        • PO_AddRadialGrid
        • PO_AddRooms
        • PO_AddRoomsByLayer
        • PO_AddSensorGrid
        • PO_AddShades
        • PO_AddSiteContext
        • PO_AddSkylightsByRatio
        • PO_AddView
        • PO_Align2DPlans
        • PO_AlignInElevation
        • PO_AlignInPlan
        • PO_AlignInPlan2D
        • PO_Check2DOrtho
        • PO_CheckAdjacency
        • PO_CheckPlanarity
        • PO_CheckUpdates
        • PO_ColorByBoundaryCondition
        • PO_ColorByFaceNormal
        • PO_ColorByFaceType
        • PO_ConstructionSetManager
        • PO_ConstructionManager
        • PO_DownloadModel
        • PO_DrawApertures
        • PO_DrawDoors
        • PO_DrawPlanarSurface
        • PO_DrawRoom
        • PO_DupAperturesDoors
        • PO_EditApertureProperties
        • PO_EditDoorProperties
        • PO_EditFaceProperties
        • PO_EditInPlace
        • PO_EditProperties
        • PO_EditRoomProperties
        • PO_EditSensorGridProperties
        • PO_EditShadeProperties
        • PO_EditViewProperties
        • PO_EmbedUserLibrary
        • PO_Extrude2DPlans
        • PO_FixRoomChildrenLinks
        • PO_GenAlignGrids
        • PO_GenRoomPerimeters
        • PO_HVACManager
        • PO_IsolateAdjacencies
        • PO_LicenseManager
        • PO_LoadResults
        • PO_MaterialManager
        • PO_MatchChildGeometry
        • PO_MatchRoomProperties
        • PO_MergeRooms
        • PO_ModifierSetManager
        • PO_ModifierManager
        • PO_OffsetChildObjects
        • PO_PluginInfo
        • PO_Pollination
        • PO_ProgramTypeManager
        • PO_ProjectChildToHost
        • PO_ProjectSrf
        • PO_PurgeUserLibrary
        • PO_RebuildRooms
        • PO_RemoveProperties
        • PO_RemoveShortSegments
        • PO_RebuildAperturesDoors
        • PO_ResetBoundaryCondition
        • PO_ResetDisplayName
        • PO_ResetIdentifier
        • PO_ResetLegendLocation
        • PO_ResetResourceIDs
        • PO_RunSimulation
        • PO_SaveToUserLibrary
        • PO_SelApertures
        • PO_SelDoors
        • PO_SelOpaqueFaces
        • PO_SelRooms
        • PO_SelSensorGrids
        • PO_SelShades
        • PO_SelSiteContexts
        • PO_SelViews
        • PO_SetAirBoundariesByGuides
        • PO_SetRoomStoryByElevation
        • PO_ShowObjectNotes
        • PO_SHWManager
        • PO_ScheduleManager
        • PO_SimulationParameter
        • PO_SolveAdjacency
        • PO_SplitRooms
        • PO_SyncModel
        • PO_TestLocalAppEnvironment
        • PO_UnitsSetting
        • PO_UploadModel
        • PO_UserManual
        • PO_ValidateModel
  • Grasshopper Plugin
    • Download and Install the Grasshopper Plugin
    • Grasshopper User Interface
      • 1:Primitives
        • PO_Aperture
        • PO_Door
        • PO_Face
        • PO_Model
        • PO_Room
        • PO_SensorGrid
        • PO_Shade
        • PO_View
        • PO_VisualizationSet
        • PO_Construction
        • PO_ConstructionSet
        • PO_Material
        • PO_Modifier
        • PO_ModifierSet
        • PO_ProgramType
        • PO_Schedule
      • 2:Pollination
        • Check_Run_Inputs
        • Check_Run_Results
        • List_Run_Assets
        • Setup_Runs
        • User_Data
        • Pollinate
        • Check_Study_Status
        • List_Studies
        • Add_a_project
        • Get_a_project
        • List_Project_Assets
        • Load_Assets
        • Upload_Assets
        • Login
      • 3:Parametric
        • Fly
        • Fly_ID
      • 4:Serialization
        • PO_Dump_GEM
        • PO_Dump_IDM
        • PO_Dump_INP
        • PO_Dump_SDD
    • Your First Simulation
    • Create a Parametric Run
    • Visualize Results
  • Web Platform
    • Create a New Project
    • Manage Access to a Project
    • Create a New Study
    • Create Teams
  • Developers
    • Create an API Key
    • API
      • Add Members to an Organization
      • Create a New Project
      • Schedule a Study on Pollination
    • Apps
      • Create a Simple Chart
      • Create a Filtered Chart
      • Create a Study
      • Check Study Status
      • Download an Output
      • Visualize Results on the Web
      • Integrate the Pollination Viewer
      • Visualize Results in Rhino
      • Prepare an App folder
      • Deploy an App using the Command Line
      • Deploy an App using Github
      • Automate the App Deployment
      • Update an App
  • Legal
    • Terms of Service
    • Privacy Policy
    • Subprocessors
    • Data Processing Addendum
    • Service Level Agreement
Powered by GitBook
On this page
  • Prerequisite
  • Step-1: Write the App
  • Step-2: Download Github Desktop
  • Step-3: Create a Github Repository
  • Step-4: Add a Secret
  • Step-5: Clone the Repository Locally
  • Step-6: Push Local Changes
  • Step-7: Create a Release
  • Step-8: Check deployment on Github
  • Step-9: Check deployment on Pollination

Was this helpful?

  1. Developers
  2. Apps

Deploy an App using Github

PreviousDeploy an App using the Command LineNextAutomate the App Deployment

Last updated 2 years ago

Was this helpful?

In this section, we will see how we can deploy an app on Pollination by triggering a release on Github.

Prerequisite

Since this section builds on it, it is necessary that you go through section first. Make sure that before you start going through this section, you have an app folder named "wind-rose" with the following structure.

wind-rose
│   README.md
│
├───.github
│   └───workflows
│           ci.yaml
│
└───app
        app.py
        Dockerfile
        requirements.txt

You will also need to be comfortable using Github and Github desktop. Use video to walk yourself through the process of creating a Github repository, cloning it locally, and pushing your changes to it.

Step-1: Write the App

Follow the steps described to write the app. Once you do that, the structure of your app folder should look like the following;

wind-rose
│   README.md
│
├───.github
│   └───workflows
│           ci.yaml
│
└───app
    │   app.py
    │   Dockerfile
    │   requirements.txt
    │
    └───assets
            sample.epw

Step-2: Download Github Desktop

Step-3: Create a Github Repository

Once you have created a Github account, click on the "+" button in the top right corner of the screen and click on "New Repository".

Note: Make sure to use the name you want your app on Pollination to have as the Github repository name. We used wind-rose as the project name in the previous section and therefore, we will use that same name here for our Github repository.

Add a description to your repository and create repository.

Click on "Creating a new file"

Name that new file anything you like. We're naming it "sample.txt" here.

Create the new file.

Step-4: Add a Secret

In deployment using the command line, we entered the Pollination API key in the deploy command. In this deployment, we need to add that key as a secret to the Github repository.

Click on "Settings".

Click on "Secrets" and then "Actions"

Click on "New repository secret".

Note: Make sure to use "POLLINATION_TOKEN" as the name.

You should the pollination token added as a secret to your repository like so;

Step-5: Clone the Repository Locally

Open Github Desktop and click on "Clone a repository from the internet..."

Search for "Wind-rose" and the repository should come up under your account name. Next, choose any local path. This is the path to a folder on your system where you'd like to clone this repository. Lastly, click on "Clone".

Once you clone the repository, the Github Desktop interface should look like so;

Step-6: Push Local Changes

Now we have the App folder created in step-1 (left) and the local repository folder created in the step above (right) open side by side.

Delete the "sample.txt" from the local repository folder.

Copy and paste all the items from the App folder to the local repository folder.

Go to Github Desktop now. You should see all the changes you made in the local repository folder. Choose a short message to describe this change and click on "Commit to main".

Click on "Push origin".

Step-7: Create a Release

Go to your repository on Github and the app folder should show up. That means, all the files necessary to deploy the app are there on Github repository now.

Click on the "Create a new release" link

Click on "Choose a tag"

Write any message to describe the release

You should have successfully created a release on Github

Step-8: Check deployment on Github

This step is optional.

Go you the repository on Github and click on "actions"

You should see the release message with a yellow dot in front of it. This means the deployment from Github has started.

After a few minutes, you will see a green check mark. That will indicate that the deployment from Github was a success.

Step-9: Check deployment on Pollination

Click on your avatar and then click on "Your Apps" on Pollination.

Click on the "wind-rose" app card

Click on "Versions"

At the top of the version history, you should see the app being deployed with the version tag you chose in step-7 above.

After about 5-10 minutes the deployment will finish

Lastly, click on the wind-rose app to see the app in action. You might have to refresh the webpage a few times for the app to appear after the deployment. To refresh use shift + F5 on Chrome or equivalent on your browser.

Go to page, download, and install Github desktop on your system.

Use "POLLINATION_TOKEN" as the name, paste your Pollination API Key in the box, and click on the "Add secret". Go to section to learn how to get this Pollination API key.

Write any tag name. We are choosing to write "v0.0.0" here. You can read more here if you are interested .

In the section, we will see how we can use commit messages to automate App deployment to Pollination.

this
versioning
next
this
this
this
here