first commit
This commit is contained in:
commit
2660f55733
11 changed files with 248 additions and 0 deletions
21
LICENSE
Normal file
21
LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2022 fortisitpl
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
1
README.md
Normal file
1
README.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
# exercices
|
||||
26
azure-pipelines.yml
Normal file
26
azure-pipelines.yml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Starter pipeline
|
||||
# Start with a minimal pipeline that you can customize to build and deploy your code.
|
||||
# Add steps that build, run tests, deploy, and more:
|
||||
# https://aka.ms/yaml
|
||||
|
||||
trigger:
|
||||
- master
|
||||
|
||||
pool:
|
||||
vmImage: ubuntu-latest
|
||||
|
||||
jobs:
|
||||
- template: job_template.yml
|
||||
|
||||
- job: Return
|
||||
dependsOn: Set
|
||||
variables:
|
||||
modules: $[ dependencies.Set.outputs['setVars.MODULES'] ]
|
||||
modules2: $[ dependencies.Set.outputs['setVars.MODULES2'] ]
|
||||
steps:
|
||||
- bash: |
|
||||
modules=($(modules))
|
||||
for module in ${modules[@]};do
|
||||
echo "MODULE: $module"
|
||||
done
|
||||
displayName: 'Print variable'
|
||||
16
job_template.yml
Normal file
16
job_template.yml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
jobs:
|
||||
- job: Set
|
||||
steps:
|
||||
- script: |
|
||||
MODULES=("temporar" "tester")
|
||||
echo "Modules: $MODULES"
|
||||
echo "##vso[task.setvariable variable=MODULES;isoutput=true]${MODULES[@]}"
|
||||
echo "##vso[task.setvariable variable=allModules]${MODULES[@]}"
|
||||
displayName: 'Run a multi-line script'
|
||||
name: setVars
|
||||
- script: |
|
||||
modules=($(allModules))
|
||||
echo ${modules[@]}
|
||||
for module in ${modules[@]};do
|
||||
echo "Module impacted: $module"
|
||||
done
|
||||
1
pipeline/azuredevops/Readme.md
Normal file
1
pipeline/azuredevops/Readme.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
# Place for azure devops pipelines
|
||||
35
pipeline/azuredevops/pipeline-docker.yml
Normal file
35
pipeline/azuredevops/pipeline-docker.yml
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
trigger:
|
||||
- main
|
||||
|
||||
resources:
|
||||
- repo: self
|
||||
|
||||
variables:
|
||||
# Container registry service connection established during pipeline creation
|
||||
dockerRegistryServiceConnection: 'da808316-c62a-445b-ae0c-3ad87fd75a60'
|
||||
imageRepository: 'javadocker'
|
||||
containerRegistry: 'taskjava.azurecr.io'
|
||||
dockerfilePath: '$(Build.SourcesDirectory)/app/Dockerfile'
|
||||
tag: '$(Build.BuildId)'
|
||||
|
||||
# Agent VM image name
|
||||
vmImageName: 'ubuntu-latest'
|
||||
|
||||
stages:
|
||||
- stage: Build
|
||||
displayName: Build and push stage
|
||||
jobs:
|
||||
- job: Build
|
||||
displayName: Build
|
||||
pool:
|
||||
vmImage: $(vmImageName)
|
||||
steps:
|
||||
- task: Docker@2
|
||||
displayName: Build and push an image to container registry
|
||||
inputs:
|
||||
command: buildAndPush
|
||||
repository: $(imageRepository)
|
||||
dockerfile: $(dockerfilePath)
|
||||
containerRegistry: $(dockerRegistryServiceConnection)
|
||||
tags: |
|
||||
$(tag)
|
||||
19
pipeline/azuredevops/pipeline-java.yml
Normal file
19
pipeline/azuredevops/pipeline-java.yml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
trigger:
|
||||
- main
|
||||
|
||||
pool:
|
||||
vmImage: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- task: Gradle@2
|
||||
inputs:
|
||||
workingDirectory: ''
|
||||
gradleWrapperFile: 'gradlew'
|
||||
gradleOptions: '-Xmx3072m'
|
||||
javaHomeOption: 'JDKVersion'
|
||||
jdkVersionOption: '1.8'
|
||||
jdkArchitectureOption: 'x64'
|
||||
publishJUnitResults: true
|
||||
testResultsFiles: '**/TEST-*.xml'
|
||||
tasks: 'build'
|
||||
20
task_template.yml
Normal file
20
task_template.yml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
parameters:
|
||||
- name: modules
|
||||
|
||||
|
||||
steps:
|
||||
#- ${{ each module in parameters.modules }}
|
||||
#- task: Docker@2
|
||||
# inputs:
|
||||
# repository: ${{ parameters.image_name }}
|
||||
# command: "buildAndPush"
|
||||
# Dockerfile: ${{ module }}/Dockerfile
|
||||
# buildContext: ${{ parameters.image_context }}
|
||||
# arguments: ${{ parameters.arguments }}
|
||||
# displayName: 'Docker build and push'
|
||||
# condition: and(succeeded(), eq(variables['SHOULD_PUSH'], true))
|
||||
- bash: |
|
||||
modules=(${{ parameters.modules }})
|
||||
for module in $modules;do
|
||||
echo "Module impacted: $module"
|
||||
done
|
||||
1
terraform/azure/Readme.md
Normal file
1
terraform/azure/Readme.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
# Place for terraform code for Azure
|
||||
84
terraform/azure/main.tf
Normal file
84
terraform/azure/main.tf
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
terraform {
|
||||
|
||||
required_version = ">=0.12"
|
||||
|
||||
required_providers {
|
||||
azurerm = {
|
||||
source = "hashicorp/azurerm"
|
||||
version = "~>2.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "azurerm_resource_group" "resource_gp" {
|
||||
name = "terraRG"
|
||||
location = "southeastasia"
|
||||
|
||||
tags = {
|
||||
Owner = "Elvi"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
variable "prefix" {
|
||||
default = "lv"
|
||||
}
|
||||
|
||||
|
||||
resource "azurerm_virtual_network" "main" {
|
||||
name = "${var.prefix}-network"
|
||||
address_space = ["10.0.0.0/16"]
|
||||
location = azurerm_resource_group.resource_gp.location
|
||||
resource_group_name = azurerm_resource_group.resource_gp.name
|
||||
}
|
||||
|
||||
resource "azurerm_subnet" "internal" {
|
||||
name = "internal"
|
||||
resource_group_name = azurerm_resource_group.resource_gp.name
|
||||
virtual_network_name = azurerm_virtual_network.main.name
|
||||
address_prefixes = ["10.0.2.0/24"]
|
||||
}
|
||||
|
||||
resource "azurerm_network_interface" "main" {
|
||||
name = "${var.prefix}-nic"
|
||||
location = azurerm_resource_group.resource_gp.location
|
||||
resource_group_name = azurerm_resource_group.resource_gp.name
|
||||
|
||||
ip_configuration {
|
||||
name = "testconfiguration1"
|
||||
subnet_id = azurerm_subnet.internal.id
|
||||
private_ip_address_allocation = "Dynamic"
|
||||
}
|
||||
}
|
||||
|
||||
resource "azurerm_virtual_machine" "main" {
|
||||
name = "${var.prefix}-vm"
|
||||
location = azurerm_resource_group.resource_gp.location
|
||||
resource_group_name = azurerm_resource_group.resource_gp.name
|
||||
network_interface_ids = [azurerm_network_interface.main.id]
|
||||
vm_size = "Standard_DS1_v2"
|
||||
|
||||
storage_image_reference {
|
||||
publisher = "Canonical"
|
||||
offer = "UbuntuServer"
|
||||
sku = "16.04-LTS"
|
||||
version = "latest"
|
||||
}
|
||||
storage_os_disk {
|
||||
name = "testdisk01"
|
||||
caching = "ReadWrite"
|
||||
create_option = "FromImage"
|
||||
managed_disk_type = "Standard_LRS"
|
||||
}
|
||||
os_profile {
|
||||
computer_name = "test-pc"
|
||||
admin_username = "testadmin"
|
||||
admin_password = "Password1234!"
|
||||
}
|
||||
os_profile_linux_config {
|
||||
disable_password_authentication = false
|
||||
}
|
||||
tags = {
|
||||
Owner = "Elvi"
|
||||
}
|
||||
}
|
||||
24
terraform/azure/variables.tf
Normal file
24
terraform/azure/variables.tf
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
provider "azurerm"{
|
||||
subscription_id = var.subscription_id
|
||||
client_id = var.client_id
|
||||
client_secret = var.client_secret
|
||||
tenant_id = var.tenant_id
|
||||
|
||||
features {}
|
||||
}
|
||||
|
||||
variable "subscription_id"{
|
||||
description = "Enter Subscription ID "
|
||||
}
|
||||
|
||||
variable "client_id"{
|
||||
description = "Enter Client ID "
|
||||
}
|
||||
|
||||
variable "client_secret"{
|
||||
description = "Enter Client Secret "
|
||||
}
|
||||
|
||||
variable "tenant_id"{
|
||||
description = "Enter Tenant ID"
|
||||
}
|
||||
Loading…
Reference in a new issue