Page 4 of 5
We can install Fastlane as a Homebrew cask or as a gem. I’ll go the gem route.
add a Gemfile on your project:
1
2
3
4
| #Gemfile
source "https://rubygems.org"
gem "fastlane"
|
We are going to use bundler. If you are familiar with Ruby development, you will find this standard procedure.
1
2
| $ bundle update
$ bundle install
|
now we can run fastlane because we want to use the version we currently installed, we will run it:
Read More...
Sometimes we only want to do the simplest of tasks of build and upload to TestFlight without having to spend much time doing lots of configuration. Maybe we are only testing a minimum viable product (MVP) and want to make it accessible to beta users. No matter the case, we also would like to understand the process behind the magic behind the graphic interface deployment. In this post, I’ll show the basic process of building and uploading an app to the Apps Store Connect(especially for TestFlight) using the command-line. And also, how can we automate it with a simple script and the tools already provided by Xcode.
Read More...
Accessing remote servers using passwords has been discouraged for a long time, and it is suggested to use SSH public keys as the authentication method. I’ve noticed that for some users, the setup and maintenance of their keys becomes a problem, so they go back to using passwords. In this post, I’ll explain how to use SSH keys to login to remote servers and how to set up your SSH configuration to keep track of your keys using the macOS keychain.
Read More...
We can use an automation tool like Ansible to configure servers, set up CI/CD pipelines, and many more DevOpsy tasks.
This same tool can be used to maintain the setup of our day to day environment (as suggested by my friend Gerardo Santoveña) or automate tasks. We can create playbooks that contain the instructions for completing tasks or defining the state you want your environment to have. In this post, I’ll show you Ansible’s basics. By the end of the article, you’ll have enough knowledge to start automating some of your everyday tasks or maybe even create a playbook to set up your environment.
Read More...
A folder structure makes it easy to navigate and understand any project. On Xcode, we can build the project structure using groups. The problem with this is that it doesn’t reflect on the filesystem. What this means is that if we are looking at the code on the filesystem, or on Github, we won’t have the benefit of the project structure. In this post, I’ll explain how to share the project structure on the filesystem and on Xcode.
Read More...
I have always been fascinated by other professions that have physical workshops, imagine a room full of neat rows of tools, with everything at hand, just having everything on its own places makes you want to create and build new things with your tools. The same applies to software, we should have all of our tools clean and sorted, we should know where everything is and where to expect to find a piece of configuration we need to modify.
Read More...
One of the most useful Unix commands, and mostly underutilized, is find. To get the most out of it there are two key features that we need to explore and understand.
- How to iterate over the results
- Limitation on the number of results we can operate on
Learn by doing
Lets create a few files and directories to use as examples:
Read More...
The following is a basic git workflow that handles most users needs:
The big picture:
We will have the following branches on our repository:
- Master branch: to be used as the trunk of your repository tree, this branch will be where all the other branches stem from.
- Development branch: the latest branch to use on your dev environment.
- Staging branch: the latest branch that will run in as close as possible to our production environment.
- Production branch: the latest code for production will be here.
Workflow:
Sprout a branch from master to work on your feature.
Read More...
Development environment will use:
WordPress latest - the image uses Apache
MariaDB latest
I would like to keep the WordPress files in the host machine so I can tinker with them so we’ll be using a mount defined by the environment variable: WPHOME
so let’s say we have the following directory schema:
└── wordpress-development
├── WordPress/
└── docker/
inside the docker directory is where the docker-compose.yml (you can see the docker-compose file at the end of the post) file is located, so the command I will run to bring the containers up will look like this for my example:
$ WPHOME=../WordPress/ docker-compose up -d
Read More...
After merging a pull request Github shows the option to remove the branch that was merged, but that only removes the branch from the remote Github repo.
If you display all your branches in local( git branch -a ) you’ll still see that the removed branch still appear.
To verify which branches are ok to remove you use the command:
1
| git pull --prune --dry-run
|
This will show you which branches on remote can be removed, we will use this list to clean our local repo. The –dry-run flag makes the command just display what will happen if we prune the remote repo.
Read More...