два разработчика (один из них тимлид) и руководитель проекта.
pipeline {
agent any
environment {
projectKeyFront = 'kvn-yanotes-front'
projectKeyBack = 'kvn-yanotes-back'
VUE_APP_STS_SERVER= 'https://auth.yanotes-dev.loc'
VUE_APP_REDIRECT_BASE = 'https://yanotes-dev.loc'
VUE_APP_CLIENT_NAME = 'yanotes_dev'
}
stages {
stage('build client app') {
agent {
dockerfile {
filename 'Dockerfile-node'
}
}
steps {
sh 'cd ./YANotesServer/App/ && npm install --verbose'
sh 'cd ./YANotesServer/App/ && npm run build'
stash includes: 'YANotesServer/App/**/*', name: 'client-app'
sh 'rm -rf ./YANotesServer/App'
}
}
stage('build server app') {
agent {
dockerfile {
filename 'Dockerfile-dotnet-microsoft6'
}
}
steps {
unstash 'client-app'
sh '''
dotnet publish --framework net6.0 --configuration Release --runtime centos-x64 ./YANotes.sln
'''
stash includes: 'StsServer/bin/Release/net6.0/centos-x64/publish/**/*', name: 'auth'
stash includes: 'YANotesServer/bin/Release/net6.0/centos-x64/publish/**/*', name: 'app'
}
}
stage('install systemd unit file') {
agent any
steps {
sshagent(['jenkins-ci-yanotes-dev']) {
sh 'scp SystemdUnitFiles/yanotes.service-Dev root@yanotes-dev.loc:/etc/systemd/system/yanotes.dev.service'
sh 'scp SystemdUnitFiles/yanotes.auth.service-Dev root@yanotes-dev.loc:/etc/systemd/system/yanotes.auth.dev.service'
sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc systemctl daemon-reload'
sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc systemctl enable yanotes.dev'
sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc systemctl enable yanotes.auth.dev'
}
}
}
stage('deployment web application') {
agent any
steps {
sshagent(['jenkins-ci-yanotes-dev']) {
unstash 'app'
sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc systemctl stop yanotes.dev'
// sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc rm -rf /var/yanotes'
sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc mkdir -p /var/yanotes'
sh 'scp -r ./YANotesServer/bin/Release/net6.0/centos-x64/publish/* root@yanotes-dev.loc:/var/yanotes'
sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc systemctl start yanotes.dev'
}
}
}
stage('deployment auth application') {
agent any
steps {
sshagent(['jenkins-ci-yanotes-dev']) {
unstash 'auth'
sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc systemctl stop yanotes.auth.dev'
// sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc rm -rf /var/yanotesauth'
sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc mkdir -p /var/yanotesauth'
sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc mkdir -p /var/yanotesauth/logs'
sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc chmod 777 /var/yanotesauth/logs'
sh 'scp -r ./StsServer/bin/Release/net6.0/centos-x64/publish/* root@yanotes-dev.loc:/var/yanotesauth'
sh 'ssh -o StrictHostKeyChecking=no root@yanotes-dev.loc systemctl start yanotes.auth.dev'
}
}
}
}
}
{
"info": {
"_postman_id": "82c63f15-f241-46b4-b7a3-b3245ee52bb3",
"name": "www.lesegais.ru",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "https://www.lesegais.ru/open-area/graphql",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"query\": \"query SearchContractLease($size: Int!, $number: Int!, $filter: Filter, $orders: [Order!]) { searchContractLease(filter: $filter, pageable: {number: $number, size: $size}, orders: $orders) {\\n content {\\n companyName\\n inn\\n dealDate\\n constituentName\\n forestryName\\n subForestryName\\n tractName\\n forestBlockNumbers\\n woodVolume\\n __typename\\n }\\n __typename\\n }\\n}\\n\",\r\n \"variables\": {\r\n \"size\": 20,\r\n \"number\": 0,\r\n \"filter\": null,\r\n \"orders\": null\r\n },\r\n \"operationName\": \"SearchContractLease\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "https://www.lesegais.ru/open-area/graphql",
"protocol": "https",
"host": [
"www",
"lesegais",
"ru"
],
"path": [
"open-area",
"graphql"
]
}
},
"response": []
}
]
}
{
"query": "query SearchContractLease($size: Int!, $number: Int!, $filter: Filter, $orders: [Order!]) { searchContractLease(filter: $filter, pageable: {number: $number, size: $size}, orders: $orders) {\n content {\n companyName\n inn\n dealDate\n constituentName\n forestryName\n subForestryName\n tractName\n forestBlockNumbers\n woodVolume\n __typename\n }\n __typename\n }\n}\n",
"variables": {
"size": 20,
"number": 0,
"filter": null,
"orders": null
},
"operationName": "SearchContractLease"
}