6beb13b667
This patch clears the previous npm cleanup steps, and then uses the npmjs module installed on the release slave to manage the nodejs install. It installs node 0.12.7 and pm version 2.11.3. It also updates the .npmrc file for our jenkins user, forcing each `npm version` command to sign the generated version git tag (sign-git-tag), and override the npm default version prefix ('v') to openstack's (''). Change-Id: Id4bd49329db25d62a06a57b665945dc351450198
106 lines
2.9 KiB
Puppet
106 lines
2.9 KiB
Puppet
# Copyright 2012 Hewlett-Packard Development Company, L.P.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
# Class to install dependencies for uploading releases to pypi, maven and
|
|
# similar external repositories
|
|
#
|
|
class openstack_project::release_slave (
|
|
$pypi_password,
|
|
$jenkins_ssh_public_key,
|
|
$pypi_username = 'openstackci',
|
|
$jenkinsci_username,
|
|
$jenkinsci_password,
|
|
$mavencentral_username,
|
|
$mavencentral_password,
|
|
$puppet_forge_username,
|
|
$puppet_forge_password,
|
|
$jenkins_gitfullname = 'OpenStack Jenkins',
|
|
$jenkins_gitemail = 'jenkins@openstack.org',
|
|
$project_config_repo = 'https://git.openstack.org/openstack-infra/project-config',
|
|
$npm_username,
|
|
$npm_userpassword,
|
|
$npm_userurl,
|
|
) {
|
|
class { 'openstack_project::slave':
|
|
ssh_key => $jenkins_ssh_public_key,
|
|
jenkins_gitfullname => $jenkins_gitfullname,
|
|
jenkins_gitemail => $jenkins_gitemail,
|
|
project_config_repo => $project_config_repo,
|
|
}
|
|
|
|
include pip
|
|
|
|
package { 'twine':
|
|
ensure => latest,
|
|
provider => pip,
|
|
require => Class['pip'],
|
|
}
|
|
|
|
package { 'wheel':
|
|
ensure => latest,
|
|
provider => pip,
|
|
require => Class['pip'],
|
|
}
|
|
|
|
class { '::nodejs':
|
|
repo_url_suffix => 'node_0.12',
|
|
}
|
|
|
|
file { '/home/jenkins/.npmrc':
|
|
ensure => present,
|
|
owner => 'jenkins',
|
|
group => 'jenkins',
|
|
mode => '0600',
|
|
content => template('openstack_project/npmrc.erb'),
|
|
require => File['/home/jenkins'],
|
|
}
|
|
|
|
file { '/home/jenkins/.pypirc':
|
|
ensure => present,
|
|
owner => 'jenkins',
|
|
group => 'jenkins',
|
|
mode => '0600',
|
|
content => template('openstack_project/pypirc.erb'),
|
|
require => File['/home/jenkins'],
|
|
}
|
|
|
|
file { '/home/jenkins/.jenkinsci-curl':
|
|
ensure => present,
|
|
owner => 'jenkins',
|
|
group => 'jenkins',
|
|
mode => '0600',
|
|
content => template('openstack_project/jenkinsci-curl.erb'),
|
|
require => File['/home/jenkins'],
|
|
}
|
|
|
|
file { '/home/jenkins/.mavencentral-curl':
|
|
ensure => present,
|
|
owner => 'jenkins',
|
|
group => 'jenkins',
|
|
mode => '0600',
|
|
content => template('openstack_project/mavencentral-curl.erb'),
|
|
require => File['/home/jenkins'],
|
|
}
|
|
|
|
file { '/home/jenkins/.puppetforge.yml':
|
|
ensure => present,
|
|
owner => 'jenkins',
|
|
group => 'jenkins',
|
|
mode => '0600',
|
|
content => template('openstack_project/puppetforge.yml.erb'),
|
|
require => File['/home/jenkins'],
|
|
}
|
|
|
|
}
|