Closed adkulas closed 5 years ago
Docker image has been created. Will try to upload to Azure either tonight or tomorrow morning.
Wed. Feb 6, 2019 Update:
Tried creating pipeline with docker image but Azure documentation seems to point to the fact that it either needs to build an image for an already built app in the pipeline or potentially link to an image registry (Azure's image registry or DockerHub)
Created DockerHub account and pushed docker image to the Hub
Next Steps:
Feb 7, 2019 - Feb 12, 2019 Update:
DockerHub personal account repo has been linked to Azure. Azure Devops does the CI/CD work in the build process and is then capable of either deploying the build via an app or an image to the appropriate Azure service
Deployed a test app using a custom image using Web App for Containers by Azure. Custom docker image was provided by Azure. Image is built using a docker file. Will try to do this with back end test pyramid app. Link is gabesapp.azurewebsites.net
Current Issues:
Nest Steps:
Feb 13, 2019 - Feb 14, 2019 Update:
Was unable to successfully build a docker image using Adam's pyramid app example. Moved on to build another pyramid example in docker. Docker image example was created successfully. Docker container able to run locally.
After looking more into what cloud services are more recommended for quick deployment and development at a very low cost or free, I have come across Heroku which has significantly more free services than Azure. I switched over to using Heroku to attempt to deploy pyramid container.
Pyramid container exposed port is unable to be picked up by Heroku. Found out that you can't expose a specific port and have Heroku pick it up. You must use a port variable which Heroku will assign when deploying. Tried a few iterations of this when building multiple images of the pyramid app. Final Result: Unable to successfully connect Heroku port to container port.
Due to this result, I went forward with simply deploying the pyramid app itself to Heroku by creating an example pyramid app and pushing it to GitHub. The GitHub repo is then connected to Heroku. An app is then created in Heroku and the code is deployed. The deployment was successful and the app is currently live here: http://pyramid-backend.herokuapp.com/
Next Steps:
Feb 15, 2019 Update:
Initial run of commands instructions to build MobileApp failed. Returned error "./gradlew: command not found"
Solution to problem was to set ./gradlew as an executable by running the following command: chmod +x ./gradlew
Was successfully able to build the app locally
When deploying to Heroku, the initial build failed. In order to localize the issues, a sample gradle deployment tutorial was carried out using Heroku's instructions. Successful deployment can be found at: https://test-graddle-deployment.herokuapp.com/
Currently unable to successfully deploy ECE 651 MobileApp to Heroku. When checking the differences between sample tutorial and our version of the gradle build script I found that we are declaring our app dependencies within a module as opposed to up front. We also do not declare a Procfile. Our folder has a few extra files such as local.properties, gradle.properties and torontotong_MobileApplication.iml. I suspect that creating the Procfile may be the issue.
To be continued...
Next Steps:
Feb 16, 2019 Update:
Next Steps:
Conclusion:
Determine where to host and run the application and services