From 6beb13b6671d32aa2813a12185520b1f6c9f7665 Mon Sep 17 00:00:00 2001 From: Michael Krotscheck Date: Wed, 30 Sep 2015 04:51:08 -0700 Subject: [PATCH] Added recent version of npm to release slave 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 --- .../manifests/release_slave.pp | 26 +++++++------------ .../{npmrc_jenkins.erb => npmrc.erb} | 2 ++ 2 files changed, 11 insertions(+), 17 deletions(-) rename modules/openstack_project/templates/{npmrc_jenkins.erb => npmrc.erb} (89%) diff --git a/modules/openstack_project/manifests/release_slave.pp b/modules/openstack_project/manifests/release_slave.pp index 1530baceb8..a0352f3389 100644 --- a/modules/openstack_project/manifests/release_slave.pp +++ b/modules/openstack_project/manifests/release_slave.pp @@ -53,25 +53,17 @@ class openstack_project::release_slave ( require => Class['pip'], } - exec { 'uninstall /usr/local/bin/npm': - command => 'npm uninstall npm --prefix=/usr/local -g', - onlyif => 'test -d /usr/local/lib/node_modules', - path => '/usr/local/bin:/usr/bin', + class { '::nodejs': + repo_url_suffix => 'node_0.12', } - package { ['npm', 'nodejs', 'nodejs-legacy']: - ensure => purged, - require => Exec['uninstall /usr/local/bin/npm'], - } - - file { ['/usr/share/npm', - '/usr/lib/node_modules', - '/root/.npm', - '/etc/npmrc', - '/home/jenkins/.npmrc']: - ensure => absent, - force => true, - require => Package['npm'] + 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': diff --git a/modules/openstack_project/templates/npmrc_jenkins.erb b/modules/openstack_project/templates/npmrc.erb similarity index 89% rename from modules/openstack_project/templates/npmrc_jenkins.erb rename to modules/openstack_project/templates/npmrc.erb index cf6550c5e6..9b267d8ad2 100644 --- a/modules/openstack_project/templates/npmrc_jenkins.erb +++ b/modules/openstack_project/templates/npmrc.erb @@ -4,6 +4,8 @@ init.author.name=<%= jenkins_gitfullname %> init.author.email=<%= jenkins_gitemail %> init.author.url=<%= npm_userurl %> +tag-version-prefix= +sign-git-tag=true //registry.npmjs.org/:username=<%= npm_username %> //registry.npmjs.org/:_password=<%= Base64.encode64(npm_userpassword) %>