Everybody has a testing environment.

Some people are lucky enough to have a totally separate environment to run production in.

-- Unknown

.

In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:

  • Git 101
  • Git flow (development process)
  • GitLab installation
  • GitLab WorkFlow
  • GitLab CI/CD
  • CI/CD with containers

This first part deals with the cornerstone of modern software development - Git version control system and various Git flows.

15 1
3 3,446
Question
Sean Connelly · Nov 16, 2018
Detecting Source Code Change?

Is there a responsive way to detect a source code change without using a source control hook?

Update

I have my own custom unit test tool which has lots of extra functions that I find useful such as Asserting HL7 Transformers and REST targets.

I have a studio hook that will send an event signal to my test runner that will automatically re-run a specific test class or test suite, for which I have a test runner viewing page that updates with the results.

1 8
0 396

If you are attending Global Summit 2018 please be sure to say hello to George James Software in the Partner Pavilion.

You are also invited to the informal lunchtime meeting we're hosting at Global Summit on Tuesday 2nd October from 1pm in Indian Paintbrush, a meeting room at the conference venue. We will be previewing the next versions of Deltanji, our integrated source code management solution, and Serenji, our editor and debugger.

10 0
0 301

Hi, Community!

Continuous Delivery is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production.

Join us at 07:00 UTC, April 24th for a webinar with a live demo "Git flows and Continuous Delivery" by @Eduard Lebedyuk 

The language of the webinar is Russian.

Also, see the related articles on DC.

0 1
0 331
Article
Evgeny Shvarov · Mar 31, 2018 1m read
What Are You Using For Issue Tracking?

Hi, Community!

What is your favorite issue tracking system for projects with InterSystems Data Platform? What did you use and what are you using now?

In projects with InterSystems Data Platform, I worked with Redmine, JIRA, Trello. A lot of code versioning systems now have this feature too (Gitlab, Github).

Now my favorite for small and medium projects is Github, because it is simple, is very close to code (commit-issue linkage) and it has kanban).

1 10
0 581

Hi! I have a local project written on Cache and Atelier on my PC. I need to move it to notebook. Tried to export globals, classes, MAC-programms and csp with frontend stuff, but after I created my apps on notebook and imported my set, it just didn't work. I think it's because I have some settings on Management Portal, so how can I export portal settings and what I should export to have my working apps on another computer?

0 3
0 249

In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:

  • Git 101
  • Git flow (development process)
  • GitLab installation
  • GitLab Workflow
  • Continuous Delivery
  • GitLab installation and configuration
  • GitLab CI/CD
  • Why containers?
  • Containers infrastructure
  • GitLab CI/CD using containers

In the first article, we covered Git basics, why a high-level understanding of Git concepts is important for modern software development, and how Git can be used to develop software.

In the second article, we covered GitLab Workflow - a complete software life cycle process and Continuous Delivery.

In the third article, we covered GitLab installation and configuration and connecting your environments to GitLab

In the fourth article, we wrote a CD configuration.

In the fifth article, we talked about containers and how (and why) they can be used.

In this article let's discuss main components you'll need to run a continuous delivery pipeline with containers and how they all work together.

3 0
2 2,541

In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:

  • Git 101
  • Git flow (development process)
  • GitLab installation
  • GitLab Workflow
  • Continuous Delivery
  • GitLab installation and configuration
  • GitLab CI/CD
  • Why containers?
  • GitLab CI/CD using containers

In the first article, we covered Git basics, why a high-level understanding of Git concepts is important for modern software development, and how Git can be used to develop software.

In the second article, we covered GitLab Workflow - a complete software life cycle process and Continuous Delivery.

In the third article,  we covered GitLab installation and configuration and connecting your environments to GitLab

In the fourth article, we wrote a CD configuration.

In this article, let's talk about containers and how (and why) they can be used.

3 0
0 951
Question
Chris Fine · Mar 8, 2018
creating a test server

hi, new here, and new to cache and deepsee.

i've been trying to setup a copy of our production server so we can use it for testing/development.

i did a full  backup. moved it to the new server.  ran the DBREST command.  got it to restore but seems like permissions get all messed up. and it just generates a bunch of errors.

is there an easier/better way of doing this?

0 13
0 427

Let's say I want to execute  this cache script (saved as test.txt) from OS terminal:

zn "USER"
write 1
zn "%SYS"
write 2
halt

Executing the following command in a terminal:

csession cache < test.txt

Would yield this output:

$ csession cache < script.txt

Node: gitlab-test, Instance: CACHE

USER>

USER>
1
USER>

%SYS>
2
%SYS>
Job succeeded

Is there a better way to run these scripts?

Currently I have two problems:

1 1
0 874
Question
John Nurmi · Jan 2, 2018
Upgrading from 2014 .1.2

I am wondering about upgrading our Healthshare mirrored environment to the latest release. Has anyone upgraded recently to what version and what kind of effort was put into it. I am thinking it will take 2 analysts full time for 3 months. Am I out of the ball park on this estimate? We have bout 600 operations, Processes and services. What are some of the benefits we get from upgrading and what are some of the problems you ran into during the upgrade? Any information you have to share would be greatly appreciated.
Thanks

0 2
0 320

Hi, Community!

Someday you find yourself having a wonderful class package which can be helpful in several projects. So it is a library package.

How to make the classes available for different namespaces in Caché? There are two ways (at least two ways familiar to me):

1. Start the name of the package with %, like %FantasticLib.SuperClass. Wrong way.

If you do that the class would be placed in %SYS and would be available in other namespaces.

This is wrong because of the two reasons:

2 8
0 445
Question
Ian Minshall · Sep 14, 2017
Conflict Resolution Wizard

Hi

When trying to sync a class to the server where the server class has been updated by another user, I, as expected, get the Conflict Resolution Wizard.

I can then use the wizard to copy code from the server side to my local copy using the arrows also as expected.

But when I have integrated the remote code into what I think is my local copy how do I save it so that it gets integrated into my local copy and synchronised to the server.

0 9
0 459

Hi, Community!

How do you store the source files of your Caché project? What is the directories structure? What are the benefits?

I prefer the following structure:

/cls/package/subpackage/class.cls

/mac/package/routine.mac

/int/package/routine.int

/inc/macro.inc

/dfi/folder/sample.pivot.dfi

Example

Benefits: 

  • folders are packages.
  • easy to understand what type of sources are in the project.

What is your approach?

2 4
1 990
This is the second part of my long post about package managers in operating systems and language distributions. Now, hopefully, we have managed to convince you that convenient package manager and rich 3rd party code repository is one key factor in establishing of a vibrant and fast growing ecosystem. (Another possible reason for ecosystem success is the consistent language design, but it will be topic for another day.)
6 23
1 1,195

The class %Compiler.UDL.TextServices arrived in 2015.1, bringing us methods for exporting a class in UDL format (i.e. looking just like we're used to seeing it in Studio), and importing a UDL format definition back into a namespace. Some source control tools including our Deltanji are now able to use UDL format, resulting in diffs that are easier to understand.

1 1
0 248
Article
Timur Safin · Jan 16, 2017 15m read
Part I – Thoughts about package manager

Have you ever thought what could be a reason why some development environment (database, language) would eventually become popular? What part of this popularity could be explain as language quality? What by new and idioms approaches introduced by early language adopters? What is due to healthy ecosystem collaboration? What is due to some marketing genius?

10 2
2 1,117