Posts

Create Auto Git Push Using Crontab in Ubuntu

Pada posting berjudul kali ini akan dibahas cara membuat cronjob untuk auto push ke remote repository.

Create File Bash (ekstensi .sh)

> vi nama_file.sh

Kemudian pencet huruf i untuk insert dan lanjutkan mengisi isi file seperti dibawah ini.
Jika git push menggunakan https maka perlu menyertakan user dan password.

#!/bin/bash

cd /home/jupyter-name/folder_git
/usr/bin/git add .
/usr/bin/git commit -m "Auto commit `date`"
/usr/bin/git push -f https://user:password@github.com/user/name.git branch_name

ketik :wq untuk menyimpan

Grant Execute .sh File

> chmod +x /home/name-agus/nama_file.sh

Save Credential For Git

Sebelum melanjutkan maka kita perlu menyimpan user dan passwor git sebab kita menggunakan https dan bukan ssh utk koneksi ke remote repository.


$ git config credential.helper store
$ git push https://github.com/owner/repo.git

Username for 'https://github.com': <USERNAME>
Password for 'https://USERNAME@github.com': <PASSWORD>

Reff :
Jika i…

Git Commit Error Please Tell Me Who You Are?

Image
Pada posting berjudul "Git Commit Error Please Tell Me Who You Are?" penulis akan menjelaskan penyebab dan solusi untuk problem diatas.

Problem diatas terjadi pada saat penulis ingin melakukan commit dari JupyterHub yang ada di lokal Ubuntu. Proses clone dari remote server telah dilakukan dan proses git add . juga sudah dikerjakan.




Proses git clone yang penulis lakukan menggunakan https dan bukan ssh. Oleh sebab itu yang perlu dilakukan adalah melakukan edit pada file git config agar mengenali pengguna git.

Dibawah ini yang penulis ubah pada file git config.

> cd .git
> vi config




press i for edit
press escape for exit edit mode
:wq for save and exit

Setelah di setting pada file config-nya kita bisa melakukan push. Seperti gambar dibawah ini :




Yang perlu ditambahkan adalah baris user yang berisi nama dan email yang telah didaftarkan di git project dan telah dimasukkan member project (bisa dilakukan di menu setting)


Semoga posting berjudul "Git Commit Error Please Te…

Installing the Microsoft ODBC Driver for SQL Server on Linux

Pada artikel berjudul "Installing the Microsoft ODBC Driver for SQL Server on Linux" ini penulis akan memberikan contoh cara menginstall ODBC Driver di Linux, pada kasus kali ini pada Ubuntu.

Tujuan dari proses instalasi ini adalah karena ODBC Driver tersebut akan digunakan oleh JupyterHub untuk dapat melakukan koneksi ke SQL Server.

Dibawah ini adalah urutan script yang perlu dijalankan di Shell Command :

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

#Ubuntu 14.04
curl https://packages.microsoft.com/config/ubuntu/14.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Ubuntu 16.04
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Ubuntu 18.04
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Ubuntu 18.10
curl https://packages.microsoft.com/config/ubuntu/18.10/prod.list > /etc/apt/sources.list.d/mssql-release.li…

Copy File From Azure Blob Into Azure Fileshare Directly Using Python

Pada posting berjudul "Copy File From Azure Blob Into Azure Fileshare Directly Using Python" ini penulis akan memberikan sample script menggunakan python cara untuk mengcopy data dari Azure Blob ke Azure Fileshare.

Pada umumnya jika kita ingin memindahkan data dari Azure Blob ke Fileshare adalah melakukan download blob ke local dahulu kemudian melakukan upload ke Fileshare. Tetapi pada sample kali ini kita akan menampung hasil download ke variabel dan kemudian melakukan upload variabel tersebut sebagai parameter data.
import os
from azure.storage.blob import BlockBlobService
from azure.storage.file import FileService
from azure.storage.file import ContentSettings
from datetime import datetime, timedelta

ACCOUNT_NAME = "myaccountname"
ACCOUNT_KEY = "Ckoo+MzpEI8bIlZO9R5hVgE0=="
BLOB_SOURCE = "blobsource"
FILESHARE_TARGET = "fstarget"

filename = 'part-00000-tid'
sourcefolder = 'sourceblobfolder'
targetfolder = 'targetfilesharefold…

Sending Email Using exchangelib in Python

Pada posting kali ini penulis akan membahas tentang "Sending Email Using exchangelib in Python". Jika kita menggunakan exchanger server sebagai media untuk mengirimkan email maka kita perlu melakukan install 2 package dibawah ini.

Packages
exchangelib ==1.9.5
cryptography== 2.8

Jika kita menggunakan GMail untuk mengirim email maka kita biasanya menggunakan package smtplib. Tetapi jika menggunakan exchange server maka exchangelib lebih cocok.

Sample Script Dibawah ini adalah sample script mengirimkan email dalam format HTML menggunakan exchange server.

Siapkan sebuah file config.ini dengan isi sbb :

[DEFAULT]

recipients = name1@domain.com, name2@domain.com
subject = Subject

Kemudian buatlah file python sbb :


#Exchange server
from exchangelib import DELEGATE,IMPERSONATION,Account,Credentials,ServiceAccount
from exchangelib import EWSDateTime,EWSTimeZone,Configuration,NTLM,CalendarItem,Message
from exchangelib import Mailbox,Attendee,Q,ExtendedProperty,FileAttachment,ItemAttachment
from…

Cross Query Database in Azure SQL

Image
Pada posting berjudul "Cross Query Database in Azure SQL"  kali ini. Penulis akan memberikan langkah-langkah cara untuk membuat cross query antara DB dalam server yang sama maupun cross query antara DB dengan server yang berbeda. Prinsip dalam 2 hal tersebut memang sama untuk SQL Azure.

Langkah 1 Membuat master enkripsi yang akkan digunakan sebagai pengaman koneksi antara 2 database yang digunakan.

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'xxxxxxxxxx';
Langkah 2 Membuat nama credential yang akan digunakan sebagai autentikasi terhadap table yang akan diakses

CREATE DATABASE SCOPED CREDENTIAL cross_queries WITH IDENTITY = 'admin', SECRET = 'secret';
Langkah 3 Membuat eksternal data souce yang berisi server dan nama database yang akan diakses menggunakana autentikasi pada langkah 2

CREATE EXTERNAL DATA SOURCE external_ds WITH (TYPE = RDBMS, LOCATION = 'sqlsource.database.windows.net', DATABASE_NAME = 'TEMP', CREDENTIAL = cross_queries)…

[Solved] PyInstaller Cannot Check for Assembly Dependencies.

Image
Pada posting berjudul "[Solved] PyInstaller Cannot Check for Assembly Dependencies." ini penulis akan jelaskan penyebab dan cara untuk solving problem tersebut.


Penyebab

Error terjadi setelah versi python di-upgrade dari 3.6.0 menjadi 3.6.1.
Proses upgrade menyebabkan terjadinya perubahan terhadap package yang telah diinstall.


Seperti yang terlihat pada gambar dibawah ini muncul pesan error "PyInstaller Cannot Check for Assembly Dependencies" pada saat menjalankan Pyinstaller melalui comman shell


Investigasi
Pyinstaller menggunakan file compat.py yang terletak didalam folder "Python\Lib\site-packages\PyInstaller" pada saat akan melakukan build exe.

Jika kita lihat didalam file tersebut maka akan ditemukan pesan error tersebut dibagian exception pada saat import package : win32ctypes.pywin3


Seperti terlihat pada 2 gambar dibawah ini :




Untuk itu kita akan mencoba melakukan import terhadap 2 package tersebut menggunakan python shell dan akan muncul pesan :…