Page MenuHomeDevCentral

Prepare Jenkins slave agent containers
Closed, ResolvedPublic

Description

We need inside the software to run tests, linters and deployment tasks.

This means composer, phpunit, phpcs, arcanist, linters hinted at T571 and some already installed everywhere like jsonlint, etc.

We probably need two containers:

  • one isolated and standalone for tests
  • one with more privileged access for delivery

Revisions and Commits

rDJENKINSAGENTS Docker images for Jenkins agents
D1759
D1758
D588
Partially Audited
Audit Required

Event Timeline

dereckson raised the priority of this task from to Normal.
dereckson updated the task description. (Show Details)
dereckson added a subscriber: dereckson.

Needs Docker too (see T948 roadmap)

According the history of silly_bardeen, we manually installed to test new CI jobs:

PHP

21:45:18 < Dereckson> 258 apt install php5-xsl
21:45:18 < Dereckson> 259 apt install php5-cli
21:45:18 < Dereckson> 260 apt install php5-common build-essential

Recent Node version

21:45:18 < Dereckson> 261 curl -sL https://deb.nodesource.com/setup_4.x | bash -
21:45:28 < Dereckson> 262 apt-get install nodejs

+npm

Node

21:45:47 < Dereckson> 235 npm install -g bower
21:45:49 < Dereckson> 238 npm install -g gulp
21:45:56 < Dereckson> 246 apt install phantomjs
21:45:56 < Dereckson> 247 npm install -g phantomjs

We probably need two containers:

one isolated and standalone for tests
one with more privileged access for delivery

They should be on two Jenkins installations as with the new Jenkinsfile system, we can select the node, so if we want to run unprivileged users jobs on the CI, privileged jobs and CD must be elsewhere.

Note: Jenkinsfile isn't activated (and won't be) for jobs triggered from DevCentral.

dereckson renamed this task from Prepare a Jenkins slave Docker containers to Prepare Jenkins slave Docker containers.Jul 31 2016, 22:49
dereckson removed dereckson as the assignee of this task.Mar 8 2018, 21:07

All seem in order, including the xsl extension.

Instead to separate only nodes, we now have two separate Jenkins installations between CI (less privileged access for build tests) and CD (privileged access with deployment)

So, as we split ci jobs between those to move to CD, those we should keep in CI, we'll be able to test the PHP containers and validate this task.

About phantomjs and silly_barden:

silly_bardeen
$  npm list -g --depth 0
/usr/lib
├── bower@1.8.2
├── gulp@3.9.1
└── npm@2.15.11
$ phantomjs
bash: phantomjs: command not found

We have phantomjs on Apsile and Elapsi (the containers prepared with the nasqueron/jenkins-slave-php image), not as binary installed for all, but as a dependency for one of the T571 lib.

Oh well, we can install it too, it can so be used to create some screenshots of a reassembled site for the static sites deployment pipelines (Daeghrefn doc for example).

dereckson renamed this task from Prepare Jenkins slave Docker containers to Prepare Jenkins slave agent containers.Sep 12 2021, 08:45
dereckson closed this task as Resolved.
dereckson claimed this task.