Skip to content

Instantly share code, notes, and snippets.

View ismail0352's full-sized avatar

Ismail ismail0352

  • Velotio
View GitHub Profile
@ismail0352
ismail0352 / provider.tf
Last active August 8, 2019 08:55
provider file for reference
provider "aws" {
region = "us-east-1"
shared_credentials_file = "~/.aws/credentials"
profile = "dev"
}
@ismail0352
ismail0352 / data_vpc.tf
Created August 8, 2019 08:53
default VPC for reference
# lookup for the "default" VPC
data "aws_vpc" "default_vpc" {
default = true
}
# subnet list in the "default" VPC
# The "default" VPC has all "public subnets"
data "aws_subnet_ids" "default_public" {
vpc_id = "${data.aws_vpc.default_vpc.id}"
}
@ismail0352
ismail0352 / jenkins_worker_windows.ps1
Created August 8, 2019 07:31
user-data for Jenkins slave - Windows
<powershell>
function Wait-For-Jenkins {
Write-Host "Waiting jenkins to launch on 8080..."
Do {
Write-Host "Waiting for Jenkins"
Nc -zv ${server_ip} 8080
@ismail0352
ismail0352 / jenkins_worker_windows.tf
Created August 8, 2019 07:27
Terraform script for windows machine
# Setting Up Windows Slave
data "aws_ami" "jenkins_worker_windows" {
most_recent = true
owners = ["self"]
filter {
name = "name"
values = ["windows-slave-for-jenkins*"]
}
}
@ismail0352
ismail0352 / sg_jenkins_worker_windows.tf
Created August 8, 2019 07:26
Security Group for windows machine
resource "aws_security_group" "dev_jenkins_worker_windows" {
name = "dev_jenkins_worker_windows"
description = "Jenkins Server: created by Terraform for [dev]"
# legacy name of VPC ID
vpc_id = "${data.aws_vpc.default_vpc.id}"
tags {
Name = "dev_jenkins_worker_windows"
env = "dev"
@ismail0352
ismail0352 / install_windows.ps1
Created August 8, 2019 07:22
user-data to create Windows AMI
# Setting Up machine for Jenkins
#Jenkins root directory
$jenkins_slave_path = "C:\Jenkins"
If(!(test-path $jenkins_slave_path))
{
New-Item -ItemType Directory -Force -Path $jenkins_slave_path
}
# Install Chocolatey for managing installations
@ismail0352
ismail0352 / SetUpWinRM.ps1
Created August 8, 2019 07:18
Setting Up Winrm to configure the windows instance
<powershell>
write-output "Running User Data Script"
write-host "(host) Running User Data Script"
Set-ExecutionPolicy Unrestricted -Scope LocalMachine -Force -ErrorAction Ignore
# Don't set this before Set-ExecutionPolicy as it throws an error
$ErrorActionPreference = "stop"
@ismail0352
ismail0352 / windows.json
Last active August 8, 2019 07:20
Json file for Packer to build windows ami to be used as Jenkins Slave
{
"variables": {
"ami-description": "Windows Server for Jenkins Slave ({{isotime \"2006-01-02-15-04-05\"}})",
"ami-name": "windows-slave-for-jenkins-{{isotime \"2006-01-02-15-04-05\"}}",
"aws_access_key": "",
"aws_secret_key": ""
},
"builders": [
{
@ismail0352
ismail0352 / jenkins_worker_linux.sh
Last active August 8, 2019 13:18
user-data for Jenkins slave - Linux
#!/bin/bash
set -x
function wait_for_jenkins ()
{
echo "Waiting jenkins to launch on 8080..."
while (( 1 )); do
echo "Waiting for Jenkins"
@ismail0352
ismail0352 / jenkins_worker_linux.tf
Created August 8, 2019 07:03
Terraform cript for creating Jenkins Slave on Linux
data "aws_ami" "jenkins_worker_linux" {
most_recent = true
owners = ["self"]
filter {
name = "name"
values = ["amazon-linux-for-jenkins*"]
}
}