K
K
kalya2015-09-08 12:48:28
symfony
kalya, 2015-09-08 12:48:28

What is an "artifact" within Continuous Delivery of PHP applications?

In one of the presentations on Continuous Delivery for PHP applications, there was such a slide image.slidesharecdn.com/continuousdeliveryfinal-14... (here is a link to the presentation itself www.slideshare.net/loalf/one-commit-one-release-co.. where the last step is to "generate an artifact (zip file)" as part of the build process.Next, this artifact (zip file) is uploaded to S3 and then the deployment tool is downloaded, for example, to a staging server and the necessary tests are run to determine the stability of the build.
From here I had a question - what should be included in this zip file in the context of a php application (in particular, symfony 2) Should it be absolutely the entire project, i.e.:
- source code
- all necessary vendors
- already generated assets
- prepared cache
and so on?
Or just some part?
If someone uses similar approaches in the development process, please share your experience on this topic. I will be very grateful for helpful answers.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
S
Sergey, 2015-09-08
@kalya

an artifact is everything that is generated during the build process. In particular, in my projects where there is no Docker, the image of which is an artifact, and the good old tar.gz is used, this is done like this:

@echo Build artifacts
    tar --exclude=".git" \
        --exclude=".idea" \
        --exclude="*.iml" \
        --exclude=".vagrant" \
        --exclude="build" \
        --exclude="node_modules" \
        --exclude="devops" \
        --exclude="specs" \
        --exclude="app/cache" \
        --exclude="app/logs" \
        --exclude="parameters.yml" \
        --exclude="web/uploads" \
        --exclude="web/app_dev.php" \
        -zcf build/build.tgz .

Still artifacts can include additional things:
- test run results. useful when tests are failing to email developers a report
- code coverage by tests, in the form of xml or/and html
- reports of static analyzers like phpmd, phpcpd, etc.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question