I use Elastic Beanstalk. And it was connected with Code Commit.
I want that if I push to Code Commit repository, EB CLI or Code Commit automatically deploy this version to elasticbeanstalk
Can I do this?
You can create a script that periodically polls CodeCommit for new changes. When there is a new change, the script can trigger:
git clone <codecommit repository>
eb init -p <platform name>
eb create/eb deploy
of course, you probably don't need to clone every time, but this is basically how Jenkins works. In fact, you can just use Jenkins to poll CodeCommit. Any time there is a new commit detected, Jenkins will build it using the EBCLI.
CodePipeline
AWS CodePipeline is a continuous delivery service you can use to model, visualize, and automate the steps required to release your software. You can quickly model and configure the different stages of a software release process. AWS CodePipeline automates the steps required to release your software changes continuously.
https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html
Configure a pipeline with CodePipeline. When GitHub or CodeCommit is configured as the source stage, every single commit will trigger your pipeline to execute. When Beanstalk is configured as a deploy stage, it will automatically deploy whatever new code is going through the pipeline.
Related
I am new in Teamcity and I created a Build, with a RunScript step.
I changed nothing in the source control configuration of this step.
The goal of the Build step is to run a script nothing else.
When running the build, Teamcity tries to do a source checkout (not configured) and stays blocked there.
What is the correct Teamcity SVC configuration in order that the build works even when SVC is not configured? Is it even possible or I should configure a fake SVC system like GIT to get it running?
With Teamcity, as with TFS, when you want to handle UI Tests, you should install the Test Agents as Interactive and not as Service.
If you Install them as Services, you will not have access to all the functionalities you need for UI testing.
Is there a way to trigger a re-deploy when I push an image to docker hub? I used S2I to build an image, put it up on docker hub, and did a deployment from there. How can I trigger a new deployment when I push a new image to docker hub?
Perhaps there is a better way? I created a wildfly image with the changes to the standalone.xml I needed. Then I used S2I to build my local source into a runnable wildfly application image, which is what I pushed and deployed. I'm trying to get around having to go through a github repository.
I'm thinking I could create an application with the customer wildfly image that I created and use the direct from IDE option to the application, but what if I want to use the command line?
You can set a scheduled flag on the image stream to have a remote registry periodically polled. This will only work though if the OpenShift cluster has been configured globally to allow that. If using OpenShift Online I don't believe that feature is enabled.
https://docs.openshift.com/container-platform/latest/dev_guide/managing_images.html#importing-tag-and-image-metadata
If you want to avoid using a Git repository, you can use a binary input build instead. This allows you to push files direct from your local computer. This means you can compile binary artifacts locally and push them into the S2I build done by OpenShift.
https://docs.openshift.com/container-platform/latest/dev_guide/builds/build_inputs.html#binary-source
My specific problem is that I would like to include the output of git rev-parse HEAD in a text file before deployment to ElasticBeanstalk. I believe the best way to solve it is to hook into the eb deploy command. I don't want to wrap eb deploy in a script.
I know .ebextensions defines commands that are executed on the ec2 instance during different phases of the deployment. Is there a similar utility for the client side?
I have installed Cygnus and I have it properly running with MYSQL. I would like to send the data which arrive to Cygnus through the notifications from Orion Context Broker, to a REST server.
I need to create a new Sink that processes the data that come from Orion, create the POST requests and run them. In order to do this, I have to create new Java files and I have to put these files in (according to "Adding new sinks development guide"):
fiware-connectors/flume/src/main/java/es/tid/fiware/fiwareconnectors/cygnus/sinks
and:
fiware-connectors/flume/src/main/java/es/tid/fiware/fiwareconnectors/cygnus/backends/<my_backend_classes>/
But I can not find these places. I installed Cygnus through the yum install command, so I do not know how to locate the places where I have to place these new java files.
Could you help me with this? Thanks in advance
Installing Cygnus by RPM will not install the sources. For that, you have to clone the Github repo (the git tool must be installed as well):
$ git clone https://github.com/telefonicaid/fiware-cygnus.git
That will clone the master branch, which is currently synchronized with the release 0.7.1.
Then, once you have added your new sink, you will have to build and install Cygnus from sources (your altered ones) as explained here.
Is it possible to setup a web hook to automatically deploy a new version of an application from a Docker Hub repository to Elastic Beanstalk?
I currently have the following setup:
Bitbucket Repo -----> Docker Hub -----> Elastic Beanstalk
When I push to the master branch on the git repository, it triggers a build on the Docker repository through a POST request. However, once the image is built, I have to manually deploy it on EB.
Docker Hub has the option for making a POST request whenever a build is successfully completed. Is there some API or URL that I could point Docker to call so that EB redeploys the application?
Note: Eventually I would like to include an automated testing server into this workflow.
AWS does not seem to have a HTTP API, but you can use the aws command-line tool to trigger the update: https://stackoverflow.com/a/41715702/5879759