Net-FullAuto
view release on metacpan or search on metacpan
lib/Net/FullAuto/ISets/Amazon/Jenkins_is.pm view on Meta::CPAN
($stdout,$stderr)=$handle->cmd("sudo yum clean all");
($stdout,$stderr)=$handle->cmd("sudo yum grouplist hidden");
($stdout,$stderr)=$handle->cmd("sudo yum groups mark convert");
($stdout,$stderr)=$handle->cmd(
"sudo yum -y groupinstall 'Development tools'",'__display__');
($stdout,$stderr)=$handle->cmd(
'sudo yum -y install openssl-devel icu cyrus-sasl'.
' libicu cyrus-sasl-devel libtool-ltdl-devel',
'__display__');
($stdout,$stderr)=$handle->cmd("sudo yum -y -v install java-1.8.0",
'__display__');
($stdout,$stderr)=$handle->cmd("sudo yum -y -v remove java-1.7.0-openjdk",
'__display__');
($stdout,$stderr)=$handle->cmd('sudo '.
'yum -y -v install tomcat8 tomcat8-webapps tomcat8-admin-webapps '.
'tomcat8-docs-webapp tomcat8-javadoc',
'__display__');
my $source='http://mirrors.jenkins.io/war-stable/latest/jenkins.war';
($stdout,$stderr)=$handle->cmd(
"wget --random-wait --progress=dot $source",'__display__');
my $install_jenkins=<<'END';
o o o .oPYo. ooooo .oo o o o o o .oPYo.
8 8b 8 8 8 .P 8 8 8 8 8b 8 8 8
8 8`b 8 `Yooo. 8 .P 8 8 8 8 8`b 8 8
8 8 `b 8 `8 8 oPooo8 8 8 8 8 `b 8 8 oo
8 8 `b8 8 8 .P 8 8 8 8 8 `b8 8 8
8 8 `8 `YooP' 8 .P 8 8oooo 8oooo 8 8 `8 `YooP8
........................................................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::
http://www.jenkins.io
_ _ _
| | ___ _ __ | | _(_)_ __ ___
_ | |/ _ \ '_ \| |/ / | '_ \/ __|
| |_| | __/ | | | <| | | | \__ \
\___/ \___|_| |_|_|\_\_|_| |_|___/
(Jenkins® is **NOT** a sponsor of the FullAuto© Project.)
END
print $install_jenkins;sleep 10;
($stdout,$stderr)=$handle->cmd("sudo yum -y update",'__display__');
my $master=$main::aws->{$server_type}->[$cnt]->[0]->{InstanceId};
my $c="aws ec2 describe-instances --instance-ids $master 2>&1";
my ($hash,$output,$error)=('','','');
($hash,$output,$error)=run_aws_cmd($c);
my $mdns=$hash->{Reservations}->[0]->{Instances}->[0]->{PublicDnsName};
my $pbip=$hash->{Reservations}->[0]->{Instances}->[0]->{PublicIpAddress};
my $dcnt=0;
my $extn='';
($stdout,$stderr)=$handle->cmd('sudo '.
'mv ~/jenkins.war /var/lib/tomcat8/webapps');
($stdout,$stderr)=$handle->cwd('/usr/share/tomcat8');
($stdout,$stderr)=$handle->cmd('sudo mkdir .jenkins');
($stdout,$stderr)=$handle->cmd('sudo chown -Rv tomcat:tomcat .jenkins',
'__display__');
($stdout,$stderr)=$handle->cmd('sudo chown -Rv tomcat:tomcat *',
'__display__');
($stdout,$stderr)=$handle->cmd('sudo service tomcat8 start','__display__');
$handle->{_cmd_handle}->print('sudo '.
'tail -f /usr/share/tomcat8/logs/catalina.out');
my $prompt=substr($handle->{_cmd_handle}->prompt(),1,-1);
my $adminpass='';my $allout='';
while (1) {
my $output=Net::FullAuto::FA_Core::fetch($handle);
last if $output=~/$prompt/;
print $output;
$allout.=$output;
if ($allout=~
/^.*password to proceed to installation:\s+(.*?)\s+This.*$/s) {
$adminpass=$1;
}
if ($allout=~/Finished/s) {
sleep 5;
$handle->{_cmd_handle}->print("\003");
last;
}
}
$handle->clean_filehandle();
($stdout,$stderr)=$handle->cmd('hostname');
my $cmd='wget -d -qO- '.
'-e robots=off '.
'--cookies=on --keep-session-cookies '.
'--save-cookies cookies.txt '.
'--header="Upgrade-Insecure-Requests: 1" '.
'--header="DNT: 1" http://'.$pbip.':8080/jenkins';
print "BEGIN_CMD=$cmd\n";
($stdout,$stderr)=$handle->cmd($cmd);
print "BEGIN_STDOUT=$stdout<== and BEGIN_STDERR=$stderr<==\n\n\n\n\n";
my $session=$stdout;
$stdout=~s/^.*(JSESSIONID=.*?);.*/$1/s;
my $cookies=$stdout;
$session=~s/^.*X-Jenkins-Session: (.*?)\n.*$/$1/s;
$cmd='sudo wget -d -qO- --content-on-error '.
'--random-wait --wait=3 '.
'--cookies=on --keep-session-cookies '.
'--load-cookies cookies.txt '.
'--save-cookies cookies.txt '.
'--header="Accept: text/html,application/xhtml+xml,application/xml;'.
'q=0.9,*/*;q=0.8" '.
'--header="User-Agent: Mozilla/5.0 '.
'(Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0" '.
'--header="DNT: 1" '.
'--header="Upgrade-Insecure-Requests: 1" '.
'--header="Referer: http://'.$pbip.':8080/jenkins/" '.
'http://'.$pbip.':8080/jenkins/login?from=%2Fjenkins%2F';
print "SESSION=$session\n";
print "LOGIN_CMD=$cmd\n";
($stdout,$stderr)=$handle->cmd($cmd);
print "LOGIN_STDOUT=$stdout<========= and LOGIN_STDERR=$stderr<=========\n\n\n\n\n";
$cookies=$stderr;
$cookies=~s/^.*(JSESSIONID=.*?);.*$/$1/s;
print "COOKIE=$cookies<==\n";
$stdout=~s/^.*Jenkins-Crumb", "(.*?)"[)].*$/$1/s;
my $jenkins_crumb=$stdout;
print "CRUMB=$jenkins_crumb<==\n";
my @files=(
( run in 0.597 second using v1.01-cache-2.11-cpan-71847e10f99 )