CI (continuous integration) project

Κλειστό Αναρτήθηκε Πριν 5 χρόνια Πληρώθηκε κατά την παράδοση
Κλειστό Πληρώθηκε κατά την παράδοση

The problem:

We have CI tool that is handling build and deploy of applications. There is also tool monitoring performance of platform.

It would be useful for the monitoring tool to know about any release so we can draw connection between performance and code changes. Communication with monitoring tools is possible through API.

There is possibility that the API of monitoring tools won't be accessible and also the requests to the API are sometime taking longer to run which might slow down the deployment process or even cause it to fail.

The task:

1. THE SCRIPT

You should create simple script which will be run by the CI tool and which will send information about the deployment. This script should be as simple as possible(e.g. bash). If you would like to use some higher language, please explain why.

For example:

$ [login to view URL] 2016.20 2012-07-08 11:14:15

This will be given to script by CI tool and in future if we want to add more attributes it should be easy to extend.

2. THE QUEUE

Because of possible problems with the monitoring tools API we must have message queue system which will be highly accessible. Open source tools are welcomed. If you are able to, install the messaging system and use it for the application. Otherwise, mock the messaging system in some way.

3. THE CONSUMER

On the other side of message queue system should be application which will be waiting for new messages and sending them to the APIs. If the message won't be accepted by the API, the message should be re-queued and tried again later.

As this interface between the API and queue system will be developed and maintained by multiple developers in future it should be in versioning system (GIT is preferable). This application should be therefore also written in PHP

Currently we have 2 systems which the consumer will be sending information into. These have different URL addresses and different data format. The system APIs look like this:

Log system:

URL: PUT /api/log

Data format:

{

"what": "DEPLOY-2016.20",

"tags": "code-release",

"datetime": "2016-07-08 10:08:15"

}

Events system:

URL: POST /api/events/create

Data format:

{

"event":

[

"id": "2016.20",

"type": 2

"timestamp": "1460110095"

]

}

It is possible there will be more APIs with different formats in the future, this should be considered in the application design. Strictly use of Object Oriented Paradigm.

Would you use simply PHP files or use some micro framework?

The actual API can be mocked in any way (simple address which will deny/accept any request, mocking of request sending in application,...) as it is not part of this task.

In your bids I am waiting to see your suggestions - solutions.

API PHP XML

Ταυτότητα Εργασίας: #16905099

Σχετικά με την εργασία

3 προτάσεις Απομακρυσμένη εργασία Ενεργό Πριν 5 χρόνια