-
Notifications
You must be signed in to change notification settings - Fork 49
/
Copy pathsession-68.txt
67 lines (49 loc) · 1.92 KB
/
session-68.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
aws eks update-kubeconfig --region us-east-1 --name expense-dev
mysql -h db-dev.daws78s.online -u root -pExpenseApp1
eksctl utils associate-iam-oidc-provider --region us-east-1 --cluster expense-dev --approve
eksctl create iamserviceaccount \
--cluster=expense-dev \
--namespace=kube-system \
--name=aws-load-balancer-controller \
--attach-policy-arn=arn:aws:iam::315069654700:policy/AWSLoadBalancerControllerIAMPolicy \
--override-existing-serviceaccounts \
--approve
helm install aws-load-balancer-controller eks/aws-load-balancer-controller -n kube-system --set clusterName=expense-dev --set serviceAccount.create=false --set serviceAccount.name=aws-load-balancer-controller
Shared Pipeline/Shared Libraries
-------------------------------------
DRY
Ansible Roles
Terraform modules
1. code reuse. any number of projects can use same code.
2. centralised location, if you have any changes update it in one place. those will be reflected automatically everywhere. less maintainance
3. enforece best standards in single location, every one can use them easily
Pipelines are different for different languages. because of build is different
Deployment platform
------------------
1. on premise
2. cloud VM
3. K8/EKS
4. PCF
nodejsVM
nodejsEKS
javaVM
javaEKS
pythonVM
pythonEKS
script/code
run script-name/code
main function
We are using Jenkins shared libraries. Our pipelines are centralised. We have different combinations in our project
1. few apps are into VM.
2. few apps are containerised
we have javaVM, javaEKS, nodejsVM, nodejsEKS, pythonVM, pythonEKS pipelines
we give a simple max 10lines Jenkinsfile to developers. they will keep it in their repository. Our pipelines are called at run time. We have below stages
1. clone
2. build
3. unit test
4. sonar scan
5. upload build file to nexus
6. create docker image
7. SAST, DAST, image scan are configured
8. deploy the application using helm
9. functional testing is configured by testing team