When you create a build pipeline you must sometime decide at runtime whether run some code or not. One of the options for this is output variables. It enables you to set a variable in one job and use this variable in the next job.
Strona głównaUżytkownik
Krzysztof-M | użytkownik
Nowadays with Kubernetes being so popular, building a Docker image is a must thing for CI/CD pipeline. For this kind of pipelines, an artifact is not a simple zip file wich compiled application, but a Docker image pushed to container registry. There is plenty of benefits of this approach but there is also price for this. We need to handle this in our pipelines. Hopefully, this price is not high. And we will explore today how we can build a Docker image for our dotnet core web app on Azure DevOps.DOCKERFI...
Last time we created a gated check-in build for .NET Core app. It works very well, but we did there one thing which is in general a bad practice in our proficiency. We duplicated build steps for building and testing .NET Core app. We can do better than that, we can use templates. Following the documentation: Templates let you define reusable content, logic, and parameters. Templates function in two ways. You can insert reusable content with a template or you can use a template to control what is allowed...
Standard CI build checks integrity of committed code after merge. This approach can lead to a state when code is not deployable due to failing tests or even failing compilation. Gated check-in helps to protect the integrity by verifying state before the merge. In that way, you can protect your master branch and avoid build breaks. In that way, you can ensure that your master branch is always deployable (what is crucial in GitHub flow) and you will not interrupt your colleagues with your obvious mistakes....
The goal of Cache@2 task is improving build performance by caching files between pipeline runs. It supports multiple types of packages likeBundler gemsnpm packagesYarn packagesNuGet packagesMaven artifactsGradle artifactsccache artifacts Further, we will focus on caching NuGet packages however in a similar manner we can configure this task for other types.Locking dependencies Before we configure cache task we need to lock dependencies to create packages.lock.json file as we need that file to set a prop...
In my previous post, I presented how we can deploy multiple visual studio database projects using Fake build tool. Here, I will present another option which is possible with version 5.19.0. This version has a new module called Fake.Sql.SqlPackage, which is a redesign of previous Fake.Sql.DacPac module. The reason, why the previous module needed redesign, it was a missing option (from my point of view crucial option) - publish profiles. I raised that point on GitHub here and solved it with this pull requ...
This story has begun quite long ago. I got a chance to work on projects without the automatic deployment process. It was strange a bit because we had deployments process for both front-end and back-end projects, but not for databases. For databases, we were generating SQL scripts from Visual Studio, and then we executed them in our Test environment. This was a perfect place to save our time and FAKE did the right job here. We use Visual Studio SQL Server DB projects to handle SQL scripts. And exactly th...
IT emigration to the USA - FSharp and D3.js shows you where people goes 10 Jan 2017 | Category: Programming | Tag: F#, D3.js I heard many times about people going to the USA to live and work there. For some people, it stills revealed as the best plan for life and the best country to live. However, it is not an easy thing. A company must to request for you and organise a visa, mostly H-1B and pay for it. This process, by itself nature takes some time and requires you and your future company to pay a...
FSharp helps you find duplicates in your project file 03 Jan 2017 | Category: Programming | Tag: F# On my daily work, I deal with a complex solution counting more than 100 projects. As probably like the most of you, we have branches dedicated to production, testing and development. In such environment, it is a normal thing that you have to merge your changes from one branch to another. And sometimes, not everything will go smoothly. Then, when someone overwrites merged changes, roll back becomes prob...
Z nieistniejącego jeszcze cyklu: pytania algorytmiczne oraz struktury danych u gigantów doliny krzemowej: Google, Amazon, Microsoft etc. Pamięć podręczna cache to pamięć o bardzo szybkim dostępie, której jest bardzo mało. Tworząc procesor twórcy implementują jeden z algorytmów do zarządzania pamięcią, który decyduje, który element z pamięci ma wylecieć, aby utworzyć miejsce dla nowego elementu.
Sztuka programowania 2915 dni, 4 godziny, 23 minuty temu 130 źrodło rozwiń
How to report your SQL - FSharp and XPlot make it easy 26 Dec 2016 | Category: Programming | Tag: F#, SQL It's a time to go further. Recently we modified SqlProfilerTraceAnalyzer by adding different ways of showing recorded trace. Today we'll do something even better - we'll generate an HTML page with charts showing count, the total and the average time for our SQL. After that, we'll add a table containing information about our store procedures. Last time we used F# Charting, but today we'll take a...
How to show your SQL19 Dec 2016 | Category: Programming | Tag: F#, SQL Last time we did a good job. We tracked store procedures hitting our server and we printed some details to the console. This was good, but this is not the end of what we can do. The first version contained hard-coded file name used to extract data and we only put the result on the console. Today we'll change this hard-coded file to a parameter and we add printing result to the file and to the chart.
How to trace your SQL12 Dec 2016 | Category: Programming | Tag: F#, SQL Have you ever thought how many store procedures your code is calling? Have you tracked them to find duplicate calls? Maybe there is a place which could be optimized but going through the code without information what procedure you are looking for is difficult or at least time consuming. There is probably a many ways to do that but here you'll find a way with F#.