dcli_scripts

Creator: coderz1093

Last updated:

0 purchases

dcli_scripts Image
dcli_scripts Images

Languages

Categories

Add to Cart

Description:

dcli scripts

An eclectic collection of CLI scripts that help me manage my dev environment.
Some of my favourites:
commands #



command
description
Example




dport
finds what process has a tcp port open.
dport 80


clean
cleans out stale docker and git files and highlights large directories.
clean


dmailhog
installs and starts/stops mailhog.
dmailhog | dmailhog --shutdown


dmysql
Backup/Restore and connects you to a mysql cli pulling settings (username/password) from a per database local settings file.
dmysql mydb backup | dmysql mydb restore <path>


dwhich
an improved which command that also highlights invalid paths



gitgc
runs garbage collection on all your git projects.



hog
finds system resource hogs.



ipaddr
shows the ip address on your local machine.



docker_push
builds a docker file and pushes it to docker.hub.



kill_tomcat
kills any java tomcat instances.



pub_get_all
recursively runs dart pub get



hex_dump
dumps the contents of a file in hex and ascii.



find_text
Find a file that contains the given text




dfind #
Recursively searches for a file with a matching glob pattern
Example #
dfind '*.dart'
copied to clipboard
dport #
Prints out the name of the process that is listening on the passed tcp port.
Example #
dport 80
copied to clipboard
dmysql #
Allows you to store the username/password for a mysql database in a configure file and then run a number of mysql commands against that database withouth continuously re-entering the username/password.
Example #
To create a configuration file for a given database run:
dmysql config <dbname>
host: <enter host>
port: <enter port>
user: <enter user>
password: <enter password>
copied to clipboard
Once you have created a config you can run any of the following commands.
backup #
Backup the database via:
dmysql backup <path to backup file>
copied to clipboard
restore #
Restore a database
WARNING: this will delete you existing schema.
dmysql restore <path to backup file>
copied to clipboard
cli #
Connect to the mysql cli
dmysql cli <database name>
copied to clipboard
find_text #
List each file that matches the pass text. The search is run recursively from the current directory.
Example #
Search all dart files for a line that contains 'final String'.
find_text 'final String' '*.dart'
copied to clipboard
apis #
The dcli_scripts package also includes some handy apis.
dockerPublish #
Designed to build and publish a docker image which contains a Dart project built with dcli.
The api assumes that you are cloning a git repo into your docker image and that you need to rebuild you image each time the git repo changes.
The api allows you to rebuild you docker image from the clone step rather than having to rebuild the entire docker image.
Your docker file should have the following line just before
the package's git clone line.
RUN mkdir -p /BUILD_TOKEN/
copied to clipboard
We will run a:

dcli pack
git add *
git commit -m 'release'
git push

You need to provide the path to your dockerfile via [pathToDockerFile].
The docker tag will be generated from your pubspec.yaml and
the [repository] argument in the form:
<repository>/<pubspec.name>:<pubspec.version>
So if you pass in 'noojee' as the repository and your package is dcli then you might get:
noojee/dcli:1.16.0
copied to clipboard
If you pass the [clean] = true then the image will be rebuilt from scratch.
If you pass the [fresh] = true then the Docker image will be rebuilt from the line
that contains BUILD_TOKEN.
We search for the BUILD_TOKEN line in your docker file and update the token UUID. This will cause the docker image to be rebuilt from the BUILD_TOKEN line. This can be used if you need to re-clone a git repo (or any similar action).
By default the image will be pushed to docker hub unless
you pass [push] = false.
By default we ask you to confirm the build process. Pass [confirm] = false
to skip the question.
If you pass [pack] = true then the 'dcli pack' command will be run
and any changes committed to your git repo before the build starts.
If you pass [pack] = true then [fresh] will automatically be set to true to force a fresh git clone.
Here is an example Dockerfile that builds for an arm64 target ( I use this for raspberry pi testing.)
# used to build the dart exes in a docker arm image
# trying to build dart execs on a pi is just to slow
# hence we do the build in a docker image on our
# development box.

# docker image instructions came from.
# https://hub.docker.com/r/balenalib/raspberrypi4-64-debian


# FROM balenalib/raspberrypi4-64-ubuntu:latest
FROM balenalib/raspberrypi4-64-ubuntu-openjdk:latest
# replace this with your application


# install build tools
# && apt install --no-install-recommends -y openjdk-8-jdk-headless maven git \

RUN apt update \
&& apt install --no-install-recommends -y \
wget \
git \
maven \
unzip \
&& rm -rf /var/lib/apt/lists/*

RUN wget https://storage.googleapis.com/dart-archive/channels/be/raw/latest/sdk/dartsdk-linux-arm64-release.zip --output-document=dart.zip
RUN unzip dart.zip

# add dart to the path.
ENV PATH="$PATH:/dart-sdk/bin"


RUN mkdir -p /BUILD_TOKEN/
RUN git clone https://github.com/bsutton/IrrigationForPi.git



WORKDIR IrrigationForPi/build_tools

RUN dart pub get
RUN dart bin/pig_build.dart --current --no-tools --no-full

copied to clipboard

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.