GitHub

GitHub

DevOps / Build, Test, Deploy / Code Collaboration & Version Control
Sr. Doodad Imagineer at Russtopia Labs·
Shared insights

I installed Gogs after a few repos I planned to use on GitHub disappeared without explanation, and after Microsoft's acquisition of same, it made me think about the over-centralization of community-developed software. A self-hosted solution that enables easy point-and-click mirroring of important repositories for my projects, both in-house and 3rd-party, ensures I won't be bitten by upstream catastrophes. (So far, Microsoft's stewardship has been fine, but always be prepared). It's also a very nice way to host one's own private repos before they're ready for prime-time on github.

Gogs is written in Go and is easy to install and configure, IMHO much more so than GitLab, though it's of course less feature-rich; the only major feature I wish Gogs had is an integrated code review tool, but the web plugin hypothes.is https://stackshare.io/hypothes-is/hypothes-is is quite suitable as a code review tool. Set up a group for each code review, and just highlight lines to add comments in pull request pages of Gogs.

READ MORE
DangerRuss Things: Export Go Packages via 'go get' From Your Own Server (dangerruss-things.blogspot.com)
5 upvotes·427K views
Shared insights
on
PostgreSQL ModelerPostgreSQL Modeler

Vue.js vuex Vue Router Quasar Framework Electron Node.js npm Yarn Git GitHub Netlify My tech stack that helps me develop quickly and efficiently. Wouldn't want it any other way.

READ MORE
12 upvotes·1.6M views
Engineering Manager at Taylor and Francis·

We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

To build #Webapps we decided to use Angular 2 with RxJS

#Devops - GitHub , Travis CI , Terraform , Docker , Serverless

READ MORE
19 upvotes·1 comment·4M views
Jon Senterfitt
Jon Senterfitt
·
January 29th 2021 at 7:07AM

But why not just use Contentful?

·
Reply

Context: I wanted to create an end to end IoT data pipeline simulation in Google Cloud IoT Core and other GCP services. I never touched Terraform meaningfully until working on this project, and it's one of the best explorations in my development career. The documentation and syntax is incredibly human-readable and friendly. I'm used to building infrastructure through the google apis via Python , but I'm so glad past Sung did not make that decision. I was tempted to use Google Cloud Deployment Manager, but the templates were a bit convoluted by first impression. I'm glad past Sung did not make this decision either.

Solution: Leveraging Google Cloud Build Google Cloud Run Google Cloud Bigtable Google BigQuery Google Cloud Storage Google Compute Engine along with some other fun tools, I can deploy over 40 GCP resources using Terraform!

Check Out My Architecture: CLICK ME

Check out the GitHub repo attached

READ MORE
GitHub - sungchun12/iot-python-webapp: Live, real-time dashboard in a serverless docker web app, and deployed via terraform with a built-in CICD trigger-See Mock Website (github.com)
33 upvotes·4 comments·1.9M views
Franco Austin
Franco Austin
·
November 22nd 2019 at 10:54AM

Relly like the architectural artefact, what did you use to produce it?

·
Reply
Sung Won Chung
Sung Won Chung
·
November 24th 2019 at 9:57PM

I used draw.io. Free and easy to use!

https://www.draw.io/

·
Reply
SANJEEV TOORA (UK)
SANJEEV TOORA (UK)
·
January 29th 2020 at 8:55AM

Architecture looks great! Just out of curiosity, did you have unit and integration testing components for Terraform e.g. Terratest, Kitchen Terraform, Sentinel?

·
Reply
Sung Won Chung
Sung Won Chung
·
January 29th 2020 at 3:17PM

I did NOT. This was to demo the mechanics. Not something for robust production. Would love if you can make a pull request for some of those tests ;)

·
Reply

We're using GitHub for version control as it's an industry standard for version control and our team has plenty of experience using it. We also found many features such as issues and project help us organize. We also really liked the fact that it has the Actions CI platform built in because it allows us to keep more of our development in one place. We chose Slack as our main communication platform because it allows us to organize our communication streams into various channels for specific topics. Additionally, we really liked the integrations as they allow us to keep a lot of our in formation in one place rather than spread around many different apps.

READ MORE
28 upvotes·1 comment·549.9K views
Betty Hull
Betty Hull
·
February 19th 2020 at 1:40PM

Slack is really comfortable

·
Reply
Senior Fullstack Developer at QUANTUSflow Software GmbH·

Our whole DevOps stack consists of the following tools:

  • GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
  • Respectively Git as revision control system
  • SourceTree as Git GUI
  • Visual Studio Code as IDE
  • CircleCI for continuous integration (automatize development process)
  • Prettier / TSLint / ESLint as code linter
  • SonarQube as quality gate
  • Docker as container management (incl. Docker Compose for multi-container application management)
  • VirtualBox for operating system simulation tests
  • Kubernetes as cluster management for docker containers
  • Heroku for deploying in test environments
  • nginx as web server (preferably used as facade server in production environment)
  • SSLMate (using OpenSSL) for certificate management
  • Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
  • PostgreSQL as preferred database system
  • Redis as preferred in-memory database/store (great for caching)

The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:

  • Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
  • Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
  • Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
  • Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
  • Scalability: All-in-one framework for distributed systems.
  • Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
READ MORE
30 upvotes·2 comments·11.1M views
Larry Gryziak
Larry Gryziak
·
April 30th 2020 at 6:34PM

So why is your deployment different for your (Heroku) test/dev and your stage/production?

·
Reply
Simon Reymann
Simon Reymann
·
May 1st 2020 at 10:32AM

When it comes to testing our web app we do not demand great computational resources and need a very simple, convenient and fast PaaS solution for deploying the app to our testers. In production though, the demand of great computational resources can rise very fast. With Amazon we are able to control that in better way.

·
Reply
Needs advice
on
CodePenCodePen
and
GitHubGitHub

Brand new (1 week) to coding. Corona killed my industry so I"m making a career change after 25 years. Studying HTML and CSS to become "vertically" proficient, before moving on to JavaScript. So at what point do I need to make a decision on CodePen vs GitHub?

READ MORE
2 upvotes·642.1K views
Replies (1)
Developer ·

I don't think there's a decision to be made, aren't they different products and services? GitHub is traditionally an online repository based around Git versioning. GitHub have expanded into other things since Microsoft came in though. Nevertheless I recommend seriously taking the time to work through the very steep learning curve of setting up a local development environment. You could start by using Visual Studio Code and get a free GitHub account to push your private projects onto. If anything it'll be a free offsite backup of your work. You'll need to install Git to take care of your local repository as well as NPM and also look at Yarn. Have this on your priority list, do some research, gather links, tutorials, downloads etc and take a week out to get it done when you feel you're at the stage where you'd like to be more organised. You could start by trying VSCode see whether you like the features and using it as an editor. Look at other editors and so on.

READ MORE
4 upvotes·590 views
Needs advice
on
GitHubGitHub
and
JFrog ArtifactoryJFrog Artifactory

Whenever Qualys scan finds out software vulnerability, say for example Java SDK or any software version that has a potential vulnerability, we search the web to find out the solution and usually install a later version or patch downloading from the web. The problem is, as we are downloading it from web and there are a number of servers where we patch and as an ultimate outcome different people downloads different version and so forth. So I want to create a repository for such binaries so that we use the same patch for all servers.

When I was thinking about the repo, obviously first thought came as GitHub.. But then I realized, it is for code version control and collaboration, not for the packaged software. The other option I am thinking is JFrog Artifactory which stores the binaries and the package software.

What is your recommendation?

READ MORE
6 upvotes·252.8K views
founder at Webcompose.ca·
Needs advice
on
MarkdownMarkdown
and
PHPPHP

I am a newbie to StackShare and the GitHub community. I want to understand how to use an include statement to get a collection of Markdown files to create a book. I have been told that there are a number of useful tools. My problem is that npm and Node.js are also very new to me. Any suggestions on how to get my md chapters into a printable document would be helpful.

READ MORE
6 upvotes·76.2K views
Needs advice
on
Fluent AssertionsFluent Assertions
and
TypeScriptTypeScript

I'm going to be writing a BDD driven app, initially just to run in a browser. I intend to write tests in typescript. I was very impressed with Fluent Assertions, as demonstrated in the Pluralsight course "Pragmatic Behavior-driven Design with .NET" by Rob Conery. He used it together with xUnit.net. I want to be able to run front end tests in a similar fashion. So far, I've only found one candidate in this vein, assertchain-jasmine (on GitHub). It's a much smaller library than FluentAssertions.

READ MORE
5 upvotes·15.2K views