(feature): add dummy jenkinsfile

This commit is contained in:
Maksym Sadovnychyy 2023-06-14 12:11:44 +02:00
parent b2c7a68070
commit 12edae98bb
17 changed files with 160 additions and 1 deletions

159
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,159 @@
import groovy.json.JsonSlurper
VERSION_NUMBER = ""
/** Pipeline **/
node {
ws('netcore') {
try{
stage("scm pull") {
deleteDir();
cloneRepo();
VERSION_NUMBER = getVersionNumber();
currentBuild.displayName = "$VERSION_NUMBER";
}
stage ("dotnet build") {
dotnet_build();
}
stage ("dotnet test") {
dotnet_test();
}
stage ("dotnet publish") {
dotnet_publish();
}
stage ("docker build") {
docker_build();
}
stage ("docker run") {
docker_run();
}
}
catch (InterruptedException x) {
currentBuild.result = 'ABORTED';
throw x;
}
catch (e) {
currentBuild.result = 'FAILURE';
throw e;
}
}
}
def cloneRepo() {
checkout scm;
}
def dotnet_build(){
dir('Merken.NetCoreBuild.App') {
sh(script: 'dotnet build Merken.NetCoreBuild.App.csproj', returnStdout: true);
}
}
def dotnet_test(){
dir('Merken.NetCoreBuild.Test') {
sh(script: 'dotnet restore', returnStdout: true);
sh(script: 'dotnet xunit -xml xunit-results.xml', returnStdout: true);
}
dir('Merken.NetCoreBuild.Transform') {
sh(script: 'dotnet run ../Merken.NetCoreBuild.Test/xunit-results.xml xunitdotnet-2.0-to-junit-2.xsl junit-results.xml', returnStdout: true);
step([$class: 'XUnitBuilder',
thresholds: [[$class: 'FailedThreshold', unstableThreshold: '1']],
tools: [[$class: 'JUnitType', pattern: '*.*']]])
}
}
def dotnet_publish(){
dir('Merken.NetCoreBuild.App') {
sh(script: 'dotnet publish Merken.NetCoreBuild.App.csproj -o ./obj/Docker/publish', returnStdout: true);
sh(script: 'cp Dockerfile ./obj/Docker/publish', returnStdout: true);
sh(script: 'tar zcf netcoreapp.tar.gz -C ./obj/Docker/publish .', returnStdout: true);
}
}
def docker_build(){
dir('Merken.NetCoreBuild.App') {
dockerApiRequest('containers/netcoreapp/stop', 'POST');
dockerApiRequest('containers/prune', 'POST');
dockerApiRequest('images/netcoreapp', 'DELETE');
dockerApiRequest('build?t=netcoreapp:' + VERSION_NUMBER + '&nocache=1&rm=1', 'POST', 'tar','', '@netcoreapp.tar.gz', true);
}
}
def docker_run(){
dir('Merken.NetCoreBuild.App') {
def containerId = createContainer();
renameContainer(containerId);
startContainer();
}
}
def createContainer(){
sh('echo \'{ "Image": "netcoreapp:' + VERSION_NUMBER + '", "ExposedPorts": { "5000/tcp" : {} }, "HostConfig": { "PortBindings": { "5000/tcp": [{ "HostPort": "5000" }] } } }\' > imageconf');
def createResponse = dockerApiRequest('containers/create', 'POST', 'json', 'json', '@imageconf');
def containerId = createResponse.Id;
return containerId;
}
def renameContainer(containerId){
def request = 'containers/' + containerId + '/rename?name=netcoreapp';
dockerApiRequest(request, 'POST');
}
def startContainer(){
dockerApiRequest('containers/netcoreapp/start', 'POST');
}
//Generates a version number
def getVersionNumber() {
def out = sh(script: 'git rev-list --count HEAD', returnStdout: true);
def array = out.split("\\r?\\n");
def count = array[array.length - 1];
def commitCount = count.trim();
return commitCount;
}
def dockerApiRequest(request, method, contenttype = 'json', accept = '', data = '', isDataBinary = false){
def requestBuilder = 'curl -v -X ' + method + ' --unix-socket /var/run/docker.sock "http://0.0.0.0:2375/' + request + '"';
if(contenttype == 'json'){
requestBuilder += ' -H "Content-Type:application/json"';
}
if(contenttype == 'tar'){
requestBuilder += ' -H "Content-Type:application/x-tar"';
}
if(accept == 'json'){
requestBuilder += ' -H "Accept: application/json"';
}
if(data.trim()){
if(isDataBinary){
requestBuilder += ' --data-binary ' + data + ' --dump-header - --no-buffer';
}else{
requestBuilder += ' -d ' + data;
}
}
def response = sh(script: requestBuilder, returnStdout:true);
if(accept == 'json'){
def jsonSlurper = new JsonSlurper();
def json = jsonSlurper.parseText(response);
return json;
}
return null;
}

View File

@ -3,4 +3,4 @@ WiredTiger 10.0.2: (December 21, 2021)
WiredTiger version
major=10,minor=0,patch=2
file:WiredTiger.wt
access_pattern_hint=none,allocation_size=4KB,app_metadata=,assert=(commit_timestamp=none,durable_timestamp=none,read_timestamp=none,write_timestamp=off),block_allocation=best,block_compressor=,cache_resident=false,checksum=on,collator=,columns=,dictionary=0,encryption=(keyid=,name=),format=btree,huffman_key=,huffman_value=,id=0,ignore_in_memory_cache_size=false,internal_item_max=0,internal_key_max=0,internal_key_truncate=true,internal_page_max=4KB,key_format=S,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=32KB,leaf_value_max=0,log=(enabled=true),memory_page_image_max=0,memory_page_max=5MB,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=false,prefix_compression_min=4,readonly=false,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=90,tiered_object=false,tiered_storage=(auth_token=,bucket=,bucket_prefix=,cache_directory=,local_retention=300,name=,object_target_size=0),value_format=S,verbose=[],version=(major=1,minor=1),write_timestamp_usage=none,checkpoint=(WiredTigerCheckpoint.129073=(addr="018081e4e7b10cf78181e4228ff9ae8281e4cb791c0e808080e3028fc0e3010fc0",order=129073,time=1685215510,size=81920,newest_start_durable_ts=0,oldest_start_ts=0,newest_txn=270,newest_stop_durable_ts=0,newest_stop_ts=-1,newest_stop_txn=-11,prepare=0,write_gen=388099,run_write_gen=386079)),checkpoint_backup_info=,checkpoint_lsn=(98,494592)
access_pattern_hint=none,allocation_size=4KB,app_metadata=,assert=(commit_timestamp=none,durable_timestamp=none,read_timestamp=none,write_timestamp=off),block_allocation=best,block_compressor=,cache_resident=false,checksum=on,collator=,columns=,dictionary=0,encryption=(keyid=,name=),format=btree,huffman_key=,huffman_value=,id=0,ignore_in_memory_cache_size=false,internal_item_max=0,internal_key_max=0,internal_key_truncate=true,internal_page_max=4KB,key_format=S,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=32KB,leaf_value_max=0,log=(enabled=true),memory_page_image_max=0,memory_page_max=5MB,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=false,prefix_compression_min=4,readonly=false,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=90,tiered_object=false,tiered_storage=(auth_token=,bucket=,bucket_prefix=,cache_directory=,local_retention=300,name=,object_target_size=0),value_format=S,verbose=[],version=(major=1,minor=1),write_timestamp_usage=none,checkpoint=(WiredTigerCheckpoint.129161=(addr="018881e42b5966518981e489ac9f908a81e416856897808080e301ffc0e3010fc0",order=129161,time=1686737447,size=81920,newest_start_durable_ts=0,oldest_start_ts=0,newest_txn=12,newest_stop_durable_ts=0,newest_stop_ts=-1,newest_stop_txn=-11,prepare=0,write_gen=388377,run_write_gen=388367)),checkpoint_backup_info=,checkpoint_lsn=(103,7168)