File tree Expand file tree Collapse file tree 6 files changed +104
-19
lines changed
tf-ec2-with-modules/terraform-project Expand file tree Collapse file tree 6 files changed +104
-19
lines changed Original file line number Diff line number Diff line change
1
+ data "aws_ami" "amazon_linux" {
2
+ most_recent = true
3
+
4
+ filter {
5
+ name = " name"
6
+ values = [" amzn2-ami-hvm-*-x86_64-gp2" ]
7
+
8
+ }
9
+
10
+ filter {
11
+ name = " virtualization-type"
12
+ values = [" hvm" ]
13
+ }
14
+
15
+ owners = [" amazon" ]
16
+ }
17
+
18
+ data "aws_ami" "ubuntu_linux" {
19
+ most_recent = true
20
+
21
+ filter {
22
+ name = " name"
23
+ values = [" ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*" , " ubuntu/images/hvm-ssd/ubuntu-lunar-24.04-amd64-server-*" ]
24
+ }
25
+
26
+ filter {
27
+ name = " virtualization-type"
28
+ values = [" hvm" ]
29
+ }
30
+
31
+ owners = [" amazon" ]
32
+ }
Original file line number Diff line number Diff line change @@ -19,26 +19,9 @@ module "security_group" {
19
19
vpc_id = module. vpc . vpc_id
20
20
}
21
21
22
-
23
- data "aws_ami" "example" {
24
- most_recent = true
25
-
26
- filter {
27
- name = " name"
28
- values = [" amzn2-ami-hvm-*-x86_64-gp2" ]
29
- }
30
-
31
- filter {
32
- name = " virtualization-type"
33
- values = [" hvm" ]
34
- }
35
-
36
- owners = [" amazon" ]
37
- }
38
-
39
22
module "ec2" {
40
23
source = " ./modules/ec2"
41
- ami = data. aws_ami . example . id
24
+ ami = data. aws_ami . ubuntu_linux . id
42
25
instance_type = " t2.micro"
43
26
subnet_id = module. subnet . subnet_id
44
27
security_group_id = module. security_group . security_group_id
Original file line number Diff line number Diff line change
1
+ data "aws_ami" "amazon_linux" {
2
+ most_recent = true
3
+
4
+ filter {
5
+ name = " name"
6
+ values = [" amzn2-ami-hvm-*-x86_64-gp2" ]
7
+
8
+ }
9
+
10
+ filter {
11
+ name = " virtualization-type"
12
+ values = [" hvm" ]
13
+ }
14
+
15
+ owners = [" amazon" ]
16
+ }
17
+
18
+ data "aws_ami" "ubuntu_linux" {
19
+ most_recent = true
20
+
21
+ filter {
22
+ name = " name"
23
+ values = [" ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*" , " ubuntu/images/hvm-ssd/ubuntu-lunar-24.04-amd64-server-*" ]
24
+ }
25
+
26
+ filter {
27
+ name = " virtualization-type"
28
+ values = [" hvm" ]
29
+ }
30
+
31
+ owners = [" amazon" ]
32
+ }
Original file line number Diff line number Diff line change 1
1
resource "aws_instance" "main" {
2
- ami = var . ami
2
+ ami = data . aws_ami . ubuntu_linux . id
3
3
instance_type = var. instance_type
4
4
subnet_id = var. subnet_id
5
5
security_groups = [var . security_group_id ]
File renamed without changes.
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ # Update the package index
4
+ sudo apt-get update -y
5
+
6
+ # Install Java 17 (latest stable version required for Jenkins)
7
+ sudo apt-get install openjdk-17-jdk -y
8
+
9
+ # Set JAVA_HOME environment variable
10
+ echo " export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" | sudo tee -a /etc/profile
11
+ echo " export PATH=\$ JAVA_HOME/bin:\$ PATH" | sudo tee -a /etc/profile
12
+ source /etc/profile
13
+
14
+ # Enable the Jenkins repository
15
+ wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
16
+ sudo sh -c ' echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
17
+
18
+ # Update the package index again
19
+ sudo apt-get update -y
20
+
21
+ # Install Jenkins
22
+ sudo apt-get install jenkins -y
23
+
24
+ # Start the Jenkins service
25
+ sudo systemctl start jenkins
26
+
27
+ # Enable Jenkins to start on system boot
28
+ sudo systemctl enable jenkins
29
+
30
+ # Wait for Jenkins to complete setup
31
+ echo " Waiting for Jenkins to complete setup..."
32
+ while [ ! -f /var/lib/jenkins/secrets/initialAdminPassword ]; do
33
+ sleep 10
34
+ done
35
+
36
+ # Print the Jenkins initial admin password
37
+ echo " Jenkins initial admin password:"
38
+ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
You can’t perform that action at this time.
0 commit comments