Migrate Code Repository from Github to AWS CodeCommit using Lambda - docker

I am trying to find a way to migrate Code Repository from Github to AWS CodeCommit programmatically using a Lambda.
I thought about one solution :
Using a lambda docker that runs on ubuntu, cloning the GitHub repository inside the docker and so push the code inside AWS CodeCommit using AWS cli.
Does someone have another idea or solution to achieve this?
Thanks for the help

Related

How to Deploy a Cloud Function using Jenkins Programmatically?

I am new to GCP and Jenkins, and I am trying to find a simple example on how to deploy a basic cloud function using Jenkins programmatically.
Like, is there a simple example on how to do this using "Hello World?"
Please help me with this, as I cannot find an example.
I have referred to this: Jenkins on GCE - Deploying Google Cloud Function to different GCP project
But, I am not sure what to do.

Simple Container Pipeline with Github Actions or Webhooks

Simple setup one VPS with Portainer running a Container instance of my service.
GitHub repository is used to maintain my code.
Goal simplest way to automatically compile project on merge to master via GitHub Workflows.
And deploy the newest image to the VPS.
The compilation of the image can be done on the VPS itself.

How to deploy the built docker image built by Cloud Build on Cloud Run automatically

Currently I trigger a Cloud Build each time a pull request is completed.
The image is built correctly, but we have to manually go to Edit and Deploy New Revision and select the most recent docker image to deploy.
How can we automate this process and have the a container deployed from the image automatically?
You can do it with a pretty simple GitHub Action. I have followed this article:
https://towardsdatascience.com/deploy-to-google-cloud-run-using-github-actions-590ecf957af0
Cloud Run also natively integrates with Cloud Build. You can import a GitHub repository and it sets up a GCB trigger for your repository (on the specified branch or tag filter).
You can use GitLab CI to automate your Cloud Run deployment.
Here are the tutorial if you want to automate your deployment with GitLab CI Link

How to include code from another repository in gitlab registry?

I have a shared registry (a docker image with tools installed for running my code) which is used by multiple repositories. I have created a new repository called LuaServer, which uses code from another repository called LuaDB. In LuaServer I have created a test which requires the code from LuaDB, this test is run in a pipeline on GitLab CI/CD in said shared registry. I get an error during the execution of this test, stating the following:
spec/serializer_spec.lua:36: module 'luadb.manager.AST' not found:No LuaRocks module found for luadb.manager.AST
Now I tried to directly clone the repository and set it up in the registry (a docker image basically which now has LuaDB), which did not seem to work as the error stays the same. Then I tried to include LuaDB as a submodule for LuaServer, but this still did not solve my problem. Is there a way to work this out?
Try using curl to get files from gitlab repo (check gitlab api)
Gitlab CI/CD pipeline when using it's runner (gitlab shared runners or custom runners) they use a default path that exists on $CI_PROJECT_DIR env variable. so you can clone you code (luaDB) under $CI_PROJECT_DIR/your_existing_code_luaserver

AWS-CDK: How to deploy a new image to an existing Fargate-Cluster?

I've got an existing FargateCluster with a running service and a running task definition created by the great aws-cdk.
I wonder what is the best way to deploy a new docker image to this existing Fargate-Service within a seperate AWS CDK routine/script/class? The docker image gets a new version (not latest) and I like to keep all the parameters configured in the existing task-definition and just deploy the new docker image. What I like to do in detail is geting the existing task-definition and just change the name of the image and let Fargate deploy it.
Is there any working example for this?
Any help will be appreciated.....
Regards
Christian
I would suggest exploring using Codepipeline to deploy your app in this case.
There's a very specific codepipeline action to Deploy ECS Fargate images.
If you want to start writing your own pipeline, check the standard Codepipeline package or try the cdk specific Pipelines package.
Other option would be to rerun your existent deployment and let CloudFormation deal with the changes.

Resources